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コマンドを使ってテーブルにいくつかの日付レコードを追加します。
mysql> insert into DemoTable1984 values('2014-01-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1984 values('2015-12-23');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1984 values('2017-10-31');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1984 values('2018-06-01');
Query OK, 1 row affected (0.00 sec)3. 現在のレコードを確認する
SELECT文でテーブル内のすべてのレコードを表示し、更新前の状態を確認しておきましょう。
mysql> select * from DemoTable1984;
このクエリを実行すると、以下のような出力が得られます。
+--------------+ | ShippingDate | +--------------+ | 2014-01-11 | | 2015-12-23 | | 2017-10-31 | | 2018-06-01 | +--------------+ 4 rows in set (0.00 sec)
4. DATE_ADD()で日付を変更する
いよいよ日付を変更します。UPDATE文の中でDATE_ADD()関数を使用し、「INTERVAL 2 year」を指定することで、すべてのShippingDateに2年間を加算できます。
mysql> update DemoTable1984 set ShippingDate=date_add(ShippingDate,interval 2 year); Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0
5. 更新後のレコードを確認する
再度SELECT文を実行して、日付が正しく変更されたかどうかを確認します。
mysql> select * from DemoTable1984;
実行結果は以下の通りです。すべての日付が2年後に更新されていることがわかります。
+--------------+ | ShippingDate | +--------------+ | 2016-01-11 | | 2017-12-23 | | 2019-10-31 | | 2020-06-01 | +--------------+ 4 rows in set (0.00 sec)
まとめ
このように、UPDATEとDATE_ADD()を組み合わせれば、既存の日付レコードに対して年数を一括で加算できます。なお、DATE_ADD()は「year」以外にも「month」や「day」などの単位に対応しているため、月単位・日単位での日付計算にも同じ要領で活用できます。
-
MySQLで現在の日付より前の日付データを抽出する方法
MySQLでは、NOW() 関数と比較演算子を使うことで、現在の日時より前の日付を持つレコードを簡単に抽出できます。この記事では、実際にテーブルを作成し、サンプルデータを登録したうえで、現在日時より過去の日付レコードを取得する手順を解説します。 1. サンプルテーブルの作成 まず、日付型(DATETIME)のカラムを持つテーブルを作成しましょう。 mysql> create table DemoTable1877 ( DueDate datetime ); Query OK, 0 rows affected (0.00 sec) 2. テストデータの挿入 次に、IN
-
MySQLクエリでテーブル列の日付形式を変更する方法
MySQLクエリでテーブル列の日付形式を変更する方法 MySQLでテーブルに保存された日付の表示形式を変更するには、DATE_FORMAT()関数を使用します。この記事では、サンプルテーブルを作成し、実際に日付形式を変換するまでの手順をサンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、datetime型の列を持つテーブルを作成しましょう。 mysql> create table DemoTable1906 ( DueTime datetime ); Query OK, 0 rows affected (0.00 sec) 2.