天天看點

mysql 昨天日日期_mysql 擷取昨天日期、今天日期、明天日期以及前一個小時和後一...

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