MySQLでn時間前、n日前、n年後などの日時を指定してデータを取る方法(INTERVAL)

MySQLのINTERVAL

指定の方法

プラスまたはマイナス INTERVAL 数値 単位

指定できる時間の単位

  • MICROSECOND(マイクロ秒)
  • SECOND(秒)
  • MINUTE(分)
  • HOUR(時間)
  • DAY(日)
  • WEEK(週)
  • MONTH(月)
  • YEAR(年)

日付を今の時間と計算した指定方法の例

例としてここでは対象をユーザーテーブル(users)日付の入っているカラムを登録日時(created)とします。

1日前の指定

1日前より大きい(1日以内)のデータの取得例。

1SELECT * FROM users WHERE created > (NOW() – INTERVAL 1 DAY);

3ヶ月前の指定

3ヶ月前より大きい(3ヶ月以内)のデータの取得例。

1SELECT * FROM users WHERE created > (NOW() – INTERVAL 3 MONTH);

2年前の指定

2年前より大きい(2年以内)のデータの取得例。

1SELECT * FROM users WHERE created > (NOW() – INTERVAL 2 YEAR);

未来を指定する場合

「-」になっているのを「+」に変えることで未来を指定できます。