MySQLで日時に30分を追加する方法|DATE_ADD()関数の実例付き解説
MySQLで日時(DATETIME型)に30分などの時間を加算したい場合は、DATE_ADD() 関数を使うのが最も簡単です。PHP側で処理したい場合には、strtotime() 関数も利用できます。
DATE_ADD()関数の基本構文
MySQLで指定したカラムの日時に30分を追加するには、次のように記述します。
SELECT DATE_ADD(カラム名, INTERVAL 30 MINUTE) FROM テーブル名;
実際に試してみよう
ここからは、実際にテーブルを作成し、動作を順番に確認していきましょう。
1. テーブルを作成する
まず、DATETIME型のカラムを持つテーブルを作成します。
mysql> CREATE TABLE Add30MinutesDemo
-> (
-> YourTime DATETIME
-> );
Query OK, 0 rows affected (0.67 sec)
2. レコードを挿入する
NOW() 関数を使って、現在の日時をレコードとして挿入します。
mysql> INSERT INTO Add30MinutesDemo VALUES(NOW()); Query OK, 1 row affected (0.21 sec)
3. 挿入したデータを確認する
SELECT文でテーブルの中身を表示してみましょう。
mysql> SELECT * FROM Add30MinutesDemo;
実行結果:
+---------------------+ | YourTime | +---------------------+ | 2018-12-07 18:03:51 | +---------------------+ 1 row in set (0.00 sec)
4. 30分を追加するクエリを実行する
次のクエリで、YourTime カラムの日時に30分を加算できます。
mysql> SELECT DATE_ADD(YourTime, INTERVAL 30 MINUTE) FROM Add30MinutesDemo;
実行結果:
+---------------------------------------+ | date_add(YourTime,interval 30 minute) | +---------------------------------------+ | 2018-12-07 18:33:51 | +---------------------------------------+ 1 row in set (0.00 sec)
元の時刻「18:03:51」に対して、30分後の「18:33:51」が正しく返されていることが確認できます。
補足:INTERVALの単位とPHPでの代替方法
INTERVAL の単位は MINUTE 以外にも、HOUR(時間)、DAY(日)、WEEK(週)、MONTH(月)、YEAR(年)など、さまざまなものが利用できます。たとえば1時間追加したい場合は INTERVAL 1 HOUR と指定するだけでOKです。
また、PHP側で同じ処理を行いたい場合は、strtotime() 関数を使って次のように書くことができます。
$newTime = date('Y-m-d H:i:s', strtotime('+30 minutes', $timestamp));
このように、MySQLの DATE_ADD() 関数を使えば、日時への加算・減算をシンプルかつ確実に実装できます。ぜひ実際の開発でも活用してみてください。
-
MySQLでDATETIME型の日時に日数を追加する方法
MySQLでは、DATE_ADD()関数を使うことで、DATETIME型の値に指定した日数を簡単に追加できます。この記事では、実際にテーブルを作成し、日時フィールドに日数を加算するまでの手順を具体例とともに解説します。 1. テーブルの作成 まず、DATETIME型のカラムを持つテーブルを作成します。 mysql> create table DemoTable1871 ( ArrivalDate datetime ); Query OK, 0
-
PHPで日時文字列に分単位の時間を追加する方法|strtotime()の使い方を解説
PHPで日時(datetime)文字列に対して、分単位で時間を加算したい場面はよくあります。そんなときに便利なのが、strtotime() 関数です。この関数を使えば、英語形式の日時表現をそのまま記述するだけで、簡単に時間の計算が行えます。strtotime() の基本構文構文は以下のとおりです。$anyVariableName = strtotime(anyDateValue + X minute);「X」の部分に任意の整数値を指定します。たとえば「+ 5 minute」と書けば5分後、「+ 30 minute」と書けば30分後の日時が取得できます。サンプルコード実際のPHPコードは以下のよ