「撈日報、週報、月報、年報」、
「撈每個月週四的報表」、
「把2020/10/07改成2020/10」,
處理資料時,常常會接到各種和時間有關的需求,
要列出MYSQL的時間相關函數可能需要很大的篇幅(笑)。
今天介紹一些新手比較需要知道的時間函數,
函數其實不用背,重點在知道要這種功能的函式可以使用,
用到的時候知道去GOOGLE,這樣就夠了!
下面分成現在時間、計算時間跟取出時間三個部份來介紹。
select NOW();
2020-10-06 20:57:28
SELECT CURDATE();;
2020-10-06
SELECT CURTIME();
20:57:28
時間的計算會和單位有關,
有可能要加減一天,或加減一秒等等,
因此先來看常用的時間單位寫法。
用法為
DATE_ADD(日期,INTERVAL 數字 單位)
如果你是DATE_ADD(10月6日,INTERVAL 1 日),
等於是說要10月6日加上一天,
如果加超過30天,會自動把月份進位。
SELECT DATE_ADD(NOW(),INTERVAL 60 day) ;
2020-12-05 20:14:26
SELECT DATE_SUB(NOW(),INTERVAL 60 day) ;
2020-08-07 20:15:00
SELECT DATEDIFF(NOW(),'2020-01-01') ;
279
取出時間相關函數基本用法簡單,
在函數的括號中加上日期(年/月/日)或日期跟時間(如下),
像這樣:
SELECT MONTH('2020-10-06 20:05:14');
因此下面以表格呈現函數名稱、功能和執行結果。
帶入參數為 '2020-10-06 20:05:14'。