WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

MySQLで昨日の日付を取得する

   

MySQLで昨日の日付を取得する

CURRENT_DATEで本日の日付を取得することができる。

mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2012-12-01     |
+----------------+
1 row in set (0.00 sec)

このCURRENT_DATE()をinterbal 1 dayと一緒にDATE_SUB()の引数として渡して実行すると昨日の日付が返ってくる。

mysql> SELECT DATE_SUB(CURRENT_DATE(),interval 1 day);
+-----------------------------------------+
| DATE_SUB(CURRENT_DATE(),interval 1 day) |
+-----------------------------------------+
| 2012-11-30                              |
+-----------------------------------------+
1 row in set (0.00 sec)

12-01のような月初日でも、11-30のように翌月の最終日が返ってくるので便利。

mysql> select email, updated_at from users WHERE updated_at>=DATE_SUB(CURRENT_DATE(),interval 1 day);
+-----------------------+---------------------+
| email                 | updated_at          |
+-----------------------+---------------------+
| email1@linuxserver.jp | 2012-11-30 05:40:35 |
+-----------------------+---------------------+
1 row in set (0.00 sec)

 - MySQL