分享篇mysql中日期的一些操作,就是我們常常會用到的mysql時間日期的相加或者相減的了,這個mysql也自己帶了函數,有需要的朋友可以參考一下.
最簡單的方法,代碼如下:
- select TO_DAYS(str_to_date('12/1/2001 12:00:00 AM','%m/%d/%Y')) -
- TO_DAYS(str_to_date('11/28/2001 12:00:00 AM','%m/%d/%Y')) as a from table1
得出天數:SELECT TO_DAYS('1999-02-01)-TO_DAYS('1999-01-01')
下面是mysql參考手冊上的說明,MySQL 為日期增加一個時間間隔:date_add(),代碼如下 :
- set @dt = now();
- select date_add(@dt, interval 1 day); -- add 1 day
- select date_add(@dt, interval 1 hour); -- add 1 hour
- select date_add(@dt, interval 1 minute); -- ...
- select date_add(@dt, interval 1 second);
- select date_add(@dt, interval 1 microsecond);
- select date_add(@dt, interval 1 week);
- select date_add(@dt, interval 1 month);
- select date_add(@dt, interval 1 quarter);
- select date_add(@dt, interval 1 year);
- --Vevb.com
- select date_add(@dt, interval -1 day); -- sub 1 day
MySQL adddate(),addtime()函數,可以用 date_add() 來替代,下面是 date_add() 實現 addtime() 功能示例:
- mysql> set @dt = '2008-08-09 12:12:33';
- mysql>
- mysql> select date_add(@dt, interval '01:15:30' hour_second);
- +------------------------------------------------+
- | date_add(@dt, interval '01:15:30' hour_second) |
- +------------------------------------------------+
- | 2008-08-09 13:28:03 |
- +------------------------------------------------+
- mysql> select date_add(@dt, interval '1 01:15:30' day_second);
- +-------------------------------------------------+
- | date_add(@dt, interval '1 01:15:30' day_second) |
- +-------------------------------------------------+
- | 2008-08-10 13:28:03 |
- +-------------------------------------------------+
date_add() 函數,分別為 @dt 增加了“1小時 15分 30秒” 和 “1天 1小時 15分 30秒”,建議,總是使用 date_add() 日期時間函數來替代 adddate(),addtime().
2.MySQL 為日期減去一個時間間隔:date_sub(),代碼如下:
- mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);
- +----------------------------------------------------------------+
- | date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second) |
- +----------------------------------------------------------------+
- | 1997-12-30 22:58:59 |
- +----------------------------------------------------------------+
新聞熱點
疑難解答