MySQL

MySQLで1日前や3ヶ月後などの日時を指定してデータを取りたいことがあると思います。この記事ではMySQLのINTERVALを使って、現在の時刻と指定した日や月などを計算した条件の指定方法を紹介します。

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

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

1日前の指定

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

3ヶ月前の指定

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

2年前の指定

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

未来を指定する場合

「-」になっているのを「+」に変えるだけで何日後とか何分後とかになります。

MySQLのINTERVAL

指定の方法

指定できる時間の単位

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

まとめ

現在の日時をNOWで取得してINTERVALで指定した時間を計算することで、n時間前、n日前、n年後などの日時を指定してデータを取ることができます。

この記事を書いた人

鳥井 慎太郎
鳥井 慎太郎
Web事業家/ブロガー
毎日楽しい。 個人開発(Webサービス、ゲームアプリ)