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

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> insert into DemoTable1994 values('2019-12-18');
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable1994 values('2019-12-19');
Query OK, 1 row affected (0.33 sec)
mysql> insert into DemoTable1994 values('2019-12-20');
Query OK, 1 row affected (0.49 sec)
mysql> insert into DemoTable1994 values('2019-12-25');
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable1994 values('2018-12-20');
Query OK, 1 row affected (1.42 sec)

登録済みレコードの確認

SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。

mysql> select * from DemoTable1994;

上記のクエリを実行すると、以下のような出力が得られます。

+-------------+
| ArrivalDate |
+-------------+
| 2019-12-18  |
| 2019-12-19  |
| 2019-12-20  |
| 2019-12-25  |
| 2018-12-20  |
+-------------+
5 rows in set (0.00 sec)

現在の日付に11日を追加するクエリ

ここが本題です。DATE_ADD()関数とCURDATE()関数を組み合わせることで、現在の日付に11日を追加できます。WHERE句でArrivalDate = curdate()と条件を指定することで、今日の日付に一致するレコードのみを対象にしています。

mysql> select ArrivalDate,date_add(ArrivalDate,interval 11 Day) from DemoTable1994 where ArrivalDate=curdate();

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

+-------------+---------------------------------------+
| ArrivalDate | date_add(ArrivalDate,interval 11 Day) |
+-------------+---------------------------------------+
| 2019-12-20  | 2019-12-31                            |
+-------------+---------------------------------------+
1 row in set (0.00 sec)

この例では、「2019-12-20」という現在の日付に一致するレコードに対して11日が加算され、「2019-12-31」が出力されています。

構文のポイント

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

DATE_ADD(日付, INTERVAL 値 単位)
  • 第1引数: 加算の対象となる日付(カラム名やCURDATE()などを指定)
  • INTERVAL 値 単位: 追加する期間。「Day」「Month」「Year」「Hour」などの単位が利用可能

たとえば「interval 11 Day」は11日を意味し、月や年単位での加算も同様の書き方で実現できます。また、逆に日付を減算したい場合はDATE_SUB()関数を使用します。

まとめ

MySQLで現在の日付に日数を追加するには、DATE_ADD()関数とCURDATE()関数を組み合わせるのが最もシンプルで確実な方法です。日付の計算は予約管理や有効期限の算出など、実務でも頻繁に使われる処理なので、ぜひ覚えておきましょう。

  1. JavaとMySQLで現在の日付に月数を追加する方法(INTERVAL句の使い方)

    JavaとMySQLを組み合わせて現在の日付に月数を追加するには、INTERVAL句を使用します。以下がその基本構文です。 String query; query = insert into テーブル名 values(curdate()+interval 追加する月数 month); 現在の日付を確認する まず、curdate()関数を使って現在の日付を確認してみましょう。 mysql> select curdate(); +------------+ | curdate() | +------------+ | 2020-10-25 | +------------+ 1 row in

  2. C#のDateTimeで現在の日付に日数を追加する方法

    C#では、DateTime構造体を使うことで、現在の日付に対して簡単に日数を追加できます。この記事では、その基本的な手順とサンプルコードを紹介します。 手順1:現在の日付を取得する まず、DateTime.Todayプロパティを使って、現在の日付(時刻は午前0時)を取得します。 DateTime.Today 手順2:AddDays()メソッドで日数を追加する 次に、AddDays()メソッドを使用して、取得した日付に日数を加算します。以下の例では、現在の日付に10日を追加しています。 DateTime.Today.AddDays(10) なお、AddDays()には負の値も渡せるため、例えばA