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

MySQLで日時(datetime)フィールドに日数を追加する方法:DATE_ADD()関数の使い方

MySQLで日時フィールドに日を追加するには?

MySQLの datetime 型の値に日数を加算したい場合は、DATE_ADD() 関数を使用します。この関数を使えば、指定した日時に任意の日数・月数・年数などを簡単に追加できます。

基本構文

DATE_ADD() 関数の基本的な構文は以下のとおりです。

SELECT DATE_ADD(カラム名, INTERVAL 追加する日数 DAY) AS 別名
FROM テーブル名;

第2引数には INTERVAL キーワードを使い、追加したい単位(DAY、MONTH、YEARなど)と値を指定します。

サンプルテーブルを作成する

まずは動作確認用のテーブルを作成しましょう。ここでは datetime 型のカラムを持つテーブルを定義します。

mysql> CREATE TABLE AddOneDayDemo
-> (
    -> YourDay DATETIME
-> );
Query OK, 0 rows affected (1.37 sec)

現在の日付を挿入する

次に、CURDATE() 関数を使って現在の日付をテーブルに挿入します。CURDATE() は実行時点のシステム日付を返す関数です。

mysql> INSERT INTO AddOneDayDemo VALUES(CURDATE());
Query OK, 1 row affected (0.17 sec)

挿入されたレコードを確認する

SELECT文で登録内容を表示してみましょう。

mysql> SELECT * FROM AddOneDayDemo;

実行結果は以下のとおりで、現在の日付が登録されていることがわかります。

| YourDay             |
+---------------------+
| 2018-11-27 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

DATE_ADD()で1日を追加する

それでは、本題である「日にちを1日追加する」クエリを実行します。以下のように DATE_ADD() の INTERVAL に 1 day を指定します。

mysql> SELECT DATE_ADD(YourDay, INTERVAL 1 DAY) AS yourDayafteraddingoneday
FROM AddOneDayDemo;

実行結果は次のようになります。

+--------------------------+
| yourDayafteraddingoneday |
+--------------------------+
| 2018-11-28 00:00:00      |
+--------------------------+
1 row in set (0.00 sec)

まとめ

上記の出力結果からわかるように、元の日付「2018-11-27」に対して1日が加算され、「2018-11-28」という日付が取得できました。

DATE_ADD() 関数は日数だけでなく、INTERVAL 1 MONTHINTERVAL 1 YEAR のように単位を変えれば、月や年の加算にも対応しています。逆に日付を減算したい場合は、負の値を指定するか、DATE_SUB() 関数を使用するとよいでしょう。日付の計算が必要な集計処理や期限管理など、さまざまな場面で活用できる便利な関数です。

  1. MySQLのINTERVALを使って日付フィールドに1日を追加する方法

    MySQLでは、DATE_ADD()関数とINTERVALを組み合わせることで、日付や日時フィールドに簡単に1日を追加できます。この記事では、実際にテーブルを作成し、INTERVAL 1 DAYを使って日付フィールドの値を更新する手順を解説します。1. テーブルを作成するまず、日付型(DATE)のカラムを持つテーブルを作成します。mysql> create table DemoTable-> (-> DueDate date->);Query OK, 0 rows affected (2.11 sec)2. レコードを挿入するINSERTコマンドを使って、テーブルにいく

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

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