188 views
この記事は最終更新から 427日 が経過しています。
【1】やりたいこと
MySQLのテーブル event に DateTime型のカラム ev_date がある。
このテーブルには、すでに 5,000個のレコードが登録されている。
今、ev_dateの日時値に誤りがあったことが判明した…
そこで、すべてのレコードの ev_dateカラムの値を正しい日時、すなわち +7日したい。
【2】やってみる
以下の SQLを実行すればよい。
UPDATE event SET ev_date = DATE_ADD(ev_date, INTERVAL 7 DAY);
DATE_ADD 関数は、特定の日付に時間間隔を加えるために使用される。
この関数は二つの引数を取る。
第1引数: ev_date は、加算の基準となる日時値だ。
第2引数: INTERVAL 7 DAY は、加算する期間を指定する。
【3】応用
1) その他の時間値の指定方法
年を加算: INTERVAL 1 YEAR → 1年を加算
月を加算: INTERVAL 2 MONTH → 2ヶ月を加算
週を加算: INTERVAL 3 WEEK → 3週間を加算
日を加算: INTERVAL 4 DAY → 4日間を加算
時を加算: INTERVAL 5 HOUR → 5時間を加算
分を加算: INTERVAL 10 MINUTE → 10分を加算
秒を加算: INTERVAL 30 SECOND → 30秒を加算
ミリ秒を加算: INTERVAL 500000 MICROSECOND → 5x10e5[μsec](=500ミリ秒)を加算
※MILLISECOND は指定できないので MICROSECOND 単位で指定する。