您好,登錄后才能下訂單哦!
本篇內容介紹了“MySQL學習之日期函數怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
“NOW()” 函數 能夠獲得當前系統日期和時間,格式如下:“YYYY-MM-DD hh:mm:ss” (這里的小時單位是 24 小時制)
“CURDATE()” 函數 能夠獲取到當前系統的日期,格式如下:“YYYY-MM-DD”
“CURTIME()” 函數 能夠獲得當前系統時間,格式如下:“hh:mm:ss” (24小時制)
SELECT NOW(); -- 返回結果 "2020-06-10 17:22:51" (示例)
SELECT CURDATE(); -- 返回結果 "2020-06-10"
SELECT CURTIME(); -- 返回結果 "17:22:52"
“DATE_FORMAT()” 函數 用于格式化日期,可以幫助我們提取出非常有用的日期信息
語法如下:
DATE_FORMAT(日期, 表達式)
SELECT ename, DATE_FORMAT(hiredate,"%Y") AS "入職日期" FROM t_emp;
占位符 | 作用 | 占位符 | 作用 |
---|---|---|---|
%Y | 年份 | %m | 月份 |
%d | 日期 | %w | 星期(數字)- (0為周日) |
%W | 星期(名稱)- (英文) | %j | 本年的第幾天 |
%U | 本年的第幾周 | %H | 小時(24) |
%h | 小時(12) | %i | 分鐘 |
%s | 秒 | %r | 時間(24) |
%T | 時間(12) |
利用 “日期函數” ,查詢生日那天是周幾。
SELECT DATE_FORMAT("2018-01-01","%W"); -- 返回結果為 "Monday"
利用 “日期函數” ,查詢 1981 年上半年入職的員工人數有多少人?
SELECT COUNT(*) FROM t_emp WHERE DATE_FORMAT(hiredate,"%Y") = 1981 AND DATE_FORMAT(hiredate,"%m") <= 6;
在 MySQL 中,兩個日期之間是不能夠直接進行相加或相減的;同時,日期也是不能夠與數字進行相加、減的。
原因在于,日期是一個特殊計算單位,而且進制之間也不是普通的十進制那樣。
雖然我們使用 日期 去進行 “+1” 的操作不會產生語法上的錯誤,但是得到的結果是純數字,而不是我們想要的日期格式的結果。(示例如下)
SELECT ename, hiredate, hiredate+1 FROM t_emp;
DATE_ADD() 函數 可以實現日期的偏移計算,并且在 時間單位的處理上,比較的靈活。
語法如下:
SELECT DATE_ADD("原始日期", INTERVAL, 偏移量, 時間單位) -- INTERVAL 是 關鍵字
"DATE_ADD() 函數" 演示案例如下
SELECT DATE_ADD(NOW(), INTERVAL 10 DAY); -- 得到的結果為 10 天 之后的日期時間
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE); -- 得到的結果為 500 分鐘 之前的日期時間
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY); -- 得到的結果為 6 個月 3 天 之前的日期時間
SELECT DATE_FORMAT( DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE; -- 返回 "%Y-%m-%d" 格式結果
DATEDIFF() 函數 用來計算兩個日期之間相差的天數,語法如下:
DATEDIFF("日期", "日期")
查詢 10 部門中年收入超過 15000 且工齡超過 20年 的員工的信息。
SELECT empno, ename, sal, hiredate FROM t_emp WHERE deptno = 10 AND (sal + IFNULL(comm,0)) * 12 >=15000 AND DATEDIFF(NOW(),hiredate)/365 >= 20 -- IFNULL(expr1,expr2):IFNULL 函數的語法,當第一個參數的值為null 的時候,則返回第二個參數的值 -- DATEDIFF(expr1,expr2):DATEDIFF 函數的語法,計算第一個日期與第二個日期的偏差時間差 -- NOW():NOW 函數可以獲得當前日期
“MySQL學習之日期函數怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。