1、目前日期
select DATE_SUB(curdate(),INTERVAL 0 DAY) ;
2、明天日期
select DATE_SUB(curdate(),INTERVAL -1 DAY) ;
3、昨天日期
select DATE_SUB(curdate(),INTERVAL 1 DAY) ;
4、前一個小時時間
select date_sub(now(), interval 1 hour);
5、後一個小時時間
select date_sub(now(), interval -1 hour);
6、前30分鐘時間
select date_add(now(),interval -30 minute)
7、後30分鐘時間
select date_add(now(),interval 30 minute)
取得當天:
SELECT curdate();
mysql> SELECT curdate();
+------------+
| curdate() |
+------------+
| 2013-07-29 |
+------------+
取得目前日期:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2013-07-29 22:10:40 |
+---------------------+
取得前一天:
mysql> select date_sub(curdate(),interval 1 day);
+------------------------------------+
| date_sub(curdate(),interval 1 day) |
+------------------------------------+
| 2013-07-28 |
+------------------------------------+
括号中為當天時間的前一天,如果統計前幾天就将括号中的'1'改成相應的天數。如果要算月或年,直接将day改為month或year即可
取得前一天的年份:
mysql> SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY));
+------------------------------------------+
| YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |
+------------------------------------------+
| 2013 |
+------------------------------------------+
date_sub()函數的例子:
今天是2013年5月20日。
date_sub('2012-05-25',interval 1 day) 表示 2012-05-24
date_sub('2012-05-25',interval 0 day) 表示 2012-05-25
date_sub('2012-05-25',interval -1 day) 表示 2012-05-26
date_sub('2012-05-31',interval -1 day) 表示 2012-06-01
date_sub(curdate(),interval 1 day) 表示 2013-05-19
date_sub(curdate(),interval -1 day) 表示 2013-05-21
date_sub(curdate(),interval 1 month) 表示 2013-04-20
date_sub(curdate(),interval -1 month) 表示 2013-06-20
date_sub(curdate(),interval 1 year) 表示 2012-05-20
date_sub(curdate(),interval -1 year) 表示 2014-05-20