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

MySQLで日付に30日を加算する方法|INTERVAL演算子の使い方を解説

MySQLのテーブルカラムに保存されているすべての日付に対して日数を加算・更新したい場合は、INTERVAL演算子を使用します。この記事では、到着日(ArrivalDate)を格納したテーブルの各日付に30日を追加する方法を、実際のコード例とともにわかりやすく解説します。

1. サンプルテーブルの作成

まず、日付型(DATE)のカラムを持つテーブルを作成しましょう。

mysql> create table DemoTable814(ArrivalDate date);
Query OK, 0 rows affected (0.58 sec)

2. レコードの挿入

続いて、INSERT文を使ってテーブルに複数のレコードを挿入します。

mysql> insert into DemoTable814 values('2018-12-02');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable814 values('2017-03-12');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable814 values('2019-12-23');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable814 values('2016-06-01');
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable814 values('2019-08-03');
Query OK, 1 row affected (0.20 sec)

3. 登録済みデータの確認

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

mysql> select *from DemoTable814;

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

+-------------+
| ArrivalDate |
+-------------+
| 2018-12-02  |
| 2017-03-12  |
| 2019-12-23  |
| 2016-06-01  |
| 2019-08-03  |
+-------------+
5 rows in set (0.00 sec)

4. 日付に30日を加算するクエリ

それでは本題です。以下のクエリを使用すると、各日付に30日を加算できます。ポイントは「INTERVAL 30 Day」という記述です。

mysql> select ArrivalDate+ Interval 30 Day from DemoTable814;

実行結果は以下の通りです。すべての日付が30日後に更新されていることが確認できます。

+------------------------------+
| ArrivalDate+ Interval 30 Day |
+------------------------------+
| 2019-01-01                   |
| 2017-04-11                   |
| 2020-01-22                   |
| 2016-07-01                   |
| 2019-09-02                   |
+------------------------------+
5 rows in set (0.05 sec)

応用:既存データを一括で更新するには

SELECTで結果を表示するだけでなく、UPDATE文と組み合わせれば、テーブル内の既存の日付データを一括で更新することも可能です。

mysql> UPDATE DemoTable814 SET ArrivalDate = ArrivalDate + INTERVAL 30 DAY;

このように、INTERVAL演算子を使えば「DAY」以外にも「MONTH」「YEAR」「HOUR」など、さまざまな単位で日時の加減算を簡単に行えます。日付の計算処理が必要な場面でぜひ活用してください。

  1. MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方

    MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ

  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