天天看點

MySQL中常用日期時間函數

下面的表格列出了 MySQL 中最重要的内建日期時間函數:

NOW()         傳回目前的日期和時間

SYSDATE() 傳回目前的日期和時間

CURDATE() 傳回目前的日期

CURTIME() 傳回目前的時間

DATE()        提取日期或日期/時間表達式的日期部分

EXTRACT() 傳回日期/時間按的單獨部分

DATE_ADD() 給日期添加指定的時間間隔

DATE_SUB() 從日期減去指定的時間間隔

DATEDIFF()         傳回兩個日期之間的天數

DATE_FORMAT()    用不同的格式顯示日期/時間

FROM_UNIXTIME()    将整形存儲的時間戳數值以”YYYY-MM-DD”格式來顯示

UNIX_TIMESTAMP() 傳回一個 Unix Timestamp (‘1970-01-01 00:00:00’ GMT 之後的秒數) 作為無符号整數

SEC_TO_TIME()     将秒值變換成小時、分鐘和秒,值以’HH:MM:SS’或HHMMSS格式化

TIME_TO_SEC()  将時間變換轉換成秒

1.NOW()

SELECT NOW();

2.SYSDATE()

SELECT SYSDATE();

3.UNIX_TIMESTAMP()

SELECT UNIX_TIMESTAMP();

SELECT UNIX_TIMESTAMP(‘2013-09-09 12:12:12’);

4.FROM_UNIXTIME()

SELECT  FROM_UNIXTIME(137123321);

5.DATE_ADD()

SELECT DATE_ADD(‘2013-09-09 12:12:12’,1);

6.DATE_SUB()

SELECT DATE_SUB(@orderdate,INTERVAL 2 DAY) AS OrderPayDate;

7.DATEDIFF()

DATEDIFF(‘2008-12-30’,’2008-12-29’) AS DiffDate

結果:1

SELECT  DATEDIFF(‘2008-12-29’,’2008-12-30’) AS DiffDate

結果:-1

8.DATE_FORMAT()

DATE_FORMAT(NOW(),’%b %d %Y %h:%i %p’)

DATE_FORMAT(NOW(),’%m-%d-%Y’)

 結果類似: 

Dec 29 2008 11:45 PM

12-29-2008

9.EXTRACT()

SELECT EXTRACT(YEAR FROM @orderdate) AS OrderYear,

EXTRACT(MONTH FROM @orderdate) AS OrderMonth,

EXTRACT(DAY FROM @orderdate) AS OrderDay;

10.SEC_TO_TIME()

select SEC_TO_TIME(2378);   結果: ‘00:39:38’

11.TIME_TO_SEC()

select TIME_TO_SEC(‘00:39:38’);   結果:2378 

繼續閱讀