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

MySQLでDATETIME型に10分を追加する方法|DATE_ADD関数の使い方

MySQLのDATE_ADD()関数で日時に10分を加算する方法

MySQLの日時(DATETIME)形式の値に10分を追加するには、DATE_ADD()関数を使用します。基本的な構文は以下のとおりです。

SELECT DATE_ADD(カラム名, INTERVAL 10 MINUTE) FROM テーブル名;

検証用テーブルの作成

まず、動作を確認するためのサンプルテーブルを作成します。

mysql> CREATE TABLE add10MinuteDemo
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> DelayDatetime datetime
    -> );
Query OK, 0 rows affected (0.83 sec)

レコードの挿入

続いて、INSERTコマンドを使ってテーブルに日時データを挿入します。

mysql> INSERT INTO add10MinuteDemo(DelayDatetime) VALUES('2019-01-23 12:45:56');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO add10MinuteDemo(DelayDatetime) VALUES('2019-03-25 10:30:23');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO add10MinuteDemo(DelayDatetime) VALUES('2019-04-21 04:04:30');
Query OK, 1 row affected (0.19 sec)

テーブルの内容を確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> SELECT * FROM add10MinuteDemo;

実行結果は以下のとおりです。

+----+---------------------+
| Id | DelayDatetime       |
+----+---------------------+
| 1  | 2019-01-23 12:45:56 |
| 2  | 2019-03-25 10:30:23 |
| 3  | 2019-04-21 04:04:30 |
+----+---------------------+
3 rows in set (0.00 sec)

日時に10分を追加するクエリ

それでは、DATE_ADD()関数を使って各日時に10分を加算します。

mysql> SELECT DATE_ADD(DelayDatetime, INTERVAL 10 MINUTE) FROM add10MinuteDemo;

実行結果は以下のとおりです。すべての行の日時が正確に10分進んでいることが確認できます。

+--------------------------------------------+
| date_add(DelayDatetime,interval 10 minute) |
+--------------------------------------------+
| 2019-01-23 12:55:56                        |
| 2019-03-25 10:40:23                        |
| 2019-04-21 04:14:30                        |
+--------------------------------------------+
3 rows in set (0.00 sec)

補足:INTERVALで指定できる主な時間単位

DATE_ADD()関数の第2引数には、MINUTE以外にもさまざまな単位を指定できます。

  • SECOND … 秒を追加
  • HOUR … 時間を追加
  • DAY … 日を追加
  • MONTH … 月を追加
  • YEAR … 年を追加

また、逆に日時を減算したい場合はDATE_SUB()関数を使用します。DATE_ADD()に負の値を指定しても同じ結果が得られます。

さらに、UPDATE文と組み合わせることで、テーブル内の既存データ自体を一括更新することも可能です。

UPDATE テーブル名 SET カラム名 = DATE_ADD(カラム名, INTERVAL 10 MINUTE);

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

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

  2. MySQLで日付形式を変換する方法|STR_TO_DATE()関数の使い方を解説

    MySQLでは、VARCHAR型などで保存された文字列の日付データを、正しい日付・時刻形式に変換したいケースがよくあります。そんなときに活躍するのが STR_TO_DATE() 関数です。この記事では、実際のSQL例とともに具体的な使い方を解説します。サンプルテーブルの作成まず、日付を文字列として格納するテーブルを作成します。mysql> create table DemoTable2010 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec)テストデータの挿入INSERT文を使って、「日/月/年 時:分:秒」