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

MySQLで日付に2週間を追加する方法|DATE_ADD()関数の使い方を解説

MySQLで日付に2週間を追加するには、DATE_ADD()関数を使用します。この関数を活用すれば、指定した日時に対して任意の期間(年・月・日・週・時間など)を簡単に加算できます。

insert into yourTableName(yourColumnName) values(date_add(now(),interval 2 week));

ここからは、実際にテーブルを作成して動作を確認する手順を紹介します。

1. テーブルの作成

まず、サンプル用のテーブルを作成しましょう。

mysql> create table DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ShippingDate datetime
    );
Query OK, 0 rows affected (0.62 sec)

2. 現在の日付を確認する

現在の日付と時刻を取得するには、以下のクエリを実行します。

mysql> select now();
+-----------------------+
| now()                 |
+-----------------------+
| 2019-06-02 10 :36 :49 |
+-----------------------+
1 row in set (0.00 sec)

3. 2週間後の日付をINSERTする

続いて、INSERTコマンドとDATE_ADD()関数を組み合わせて、現在日時に2週間を加算した値をテーブルに挿入します。

mysql> insert into DemoTable(ShippingDate) values(date_add(now(),interval 2 week));
Query OK, 1 row affected (0.22 sec)

4. レコードを表示して確認する

SELECT文でテーブル内のすべてのレコードを表示します。

mysql> select *from DemoTable;

出力結果

+----+-----------------------+
| Id | ShippingDate          |
+----+-----------------------+
| 1  | 2019-06-16 10 :37 :24 |
+----+-----------------------+
1 row in set (0.00 sec)

実行結果を見ると、基準日の「2019-06-02」からちょうど2週間後の「2019-06-16」がShippingDateカラムに正しく登録されていることがわかります。

補足:DATE_ADD()関数の基本構文

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

DATE_ADD(date, INTERVAL expr unit);
  • date:基準となる日付または日時
  • INTERVAL expr unit:加算する数量と単位(例:2 WEEK、3 MONTH、1 DAY など)

なお、逆に2週間前の日付を取得したい場合は、DATE_SUB()関数を使うか、INTERVALの数量にマイナス値を指定することで対応できます。出荷予定日や期限日の計算など、実務でも頻繁に使われるテクニックなので、ぜひ覚えておきましょう。

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

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

  2. MySQLで現在の日付に11日を追加する方法【DATE_ADD関数の使い方】

    はじめにMySQLでは、DATE_ADD()関数を使うことで、日付に指定した日数を簡単に加算できます。本記事では、現在の日付(CURDATE())に11日を追加する方法を、テーブル作成からクエリ実行まで具体的な例を交えて解説します。サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable1994 ( ArrivalDate date ); Query OK, 0 rows affected (5.33 sec)テストデータの挿入続いて、INSERTコマンドを使用してテーブルに複数のレコードを挿入します。mysql&g