MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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() 関数を使えば、日時への加算・減算をシンプルかつ確実に実装できます。ぜひ実際の開発でも活用してみてください。

  1. MySQLでDATETIME型の日時に日数を追加する方法

    MySQLでは、DATE_ADD()関数を使うことで、DATETIME型の値に指定した日数を簡単に追加できます。この記事では、実際にテーブルを作成し、日時フィールドに日数を加算するまでの手順を具体例とともに解説します。 1. テーブルの作成 まず、DATETIME型のカラムを持つテーブルを作成します。 mysql> create table DemoTable1871     (     ArrivalDate datetime     ); Query OK, 0

  2. PHPで日時文字列に分単位の時間を追加する方法|strtotime()の使い方を解説

    PHPで日時(datetime)文字列に対して、分単位で時間を加算したい場面はよくあります。そんなときに便利なのが、strtotime() 関数です。この関数を使えば、英語形式の日時表現をそのまま記述するだけで、簡単に時間の計算が行えます。strtotime() の基本構文構文は以下のとおりです。$anyVariableName = strtotime(anyDateValue + X minute);「X」の部分に任意の整数値を指定します。たとえば「+ 5 minute」と書けば5分後、「+ 30 minute」と書けば30分後の日時が取得できます。サンプルコード実際のPHPコードは以下のよ