MySQL 日付の加算

MySQL の日付演算のお話。

MySQL では DATE_ADD() 関数で日付の加算ができます。

同じように DATE_SUB() 関数で日付の減算ができます。が。こっちはあんまり使いません。

MySQL 4.1 リファレンスマニュアル :: 6.3.4 日付と時刻関数

現在から 10 日後の日付を取得する

> SELECT DATE_ADD( now(), interval 10 day )

ってな感じで使います。

これが

> SELECT now() + interval 10 day

とも書ける事が判明。

MONTH、YEAR_MONTH、YEAR のいずれかを加えた結果の日付が、新しい月の最大日数より大きい場合、新しい月の最大日数に調整される。

という事も判明。

2006/07/31 の 7 ヵ月後の日付を取得する

> SELECT '2006-07-31' + INTERVAL 7 MONTH
2006-02-28

2006/07/31 の 7 ヵ月後 + 1日後の日付を取得する

> SELECT ( '2006-07-31' + INTERVAL 7 MONTH ) + INTERVAL 1 DAY
2007-03-01

結果は上と同じ

> SELECT ( '2006-07-31' + INTERVAL 1 DAY) + INTERVAL 7 MONTH 
2007-03-01

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です