MySQL學(xué)習(xí)之日期函數(shù)怎么使用

本篇內(nèi)容介紹了“MySQL學(xué)習(xí)之日期函數(shù)怎么使用”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)是一家專業(yè)提供海珠企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為海珠眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

MySQL學(xué)習(xí)之日期函數(shù)怎么使用

獲取 系統(tǒng)時(shí)間 函數(shù)

“NOW()” 函數(shù) 能夠獲得當(dāng)前系統(tǒng)日期和時(shí)間,格式如下:“YYYY-MM-DD hh:mm:ss” (這里的小時(shí)單位是 24 小時(shí)制)

“CURDATE()” 函數(shù) 能夠獲取到當(dāng)前系統(tǒng)的日期,格式如下:“YYYY-MM-DD”

“CURTIME()” 函數(shù) 能夠獲得當(dāng)前系統(tǒng)時(shí)間,格式如下:“hh:mm:ss” (24小時(shí)制)

SELECT NOW();            -- 返回結(jié)果 "2020-06-10 17:22:51"  (示例)
SELECT CURDATE();        -- 返回結(jié)果 "2020-06-10"
SELECT CURTIME();        -- 返回結(jié)果 "17:22:52"

日期格式化 函數(shù)

“DATE_FORMAT()” 函數(shù) 用于格式化日期,可以幫助我們提取出非常有用的日期信息

語法如下:

DATE_FORMAT(日期, 表達(dá)式)

SELECT ename, DATE_FORMAT(hiredate,"%Y") AS "入職日期" FROM t_emp;

MySQL學(xué)習(xí)之日期函數(shù)怎么使用

占位符作用占位符作用
%Y年份%m月份
%d日期%w星期(數(shù)字)- (0為周日)
%W星期(名稱)- (英文)%j本年的第幾天
%U本年的第幾周%H小時(shí)(24)
%h小時(shí)(12)%i分鐘
%s%r時(shí)間(24)
%T時(shí)間(12)

日期函數(shù)練習(xí)

利用 “日期函數(shù)” ,查詢生日那天是周幾。

SELECT DATE_FORMAT("2018-01-01","%W");        -- 返回結(jié)果為 "Monday"

日期函數(shù)練習(xí)

利用 “日期函數(shù)” ,查詢 1981 年上半年入職的員工人數(shù)有多少人?

SELECT COUNT(*)
FROM t_emp
WHERE DATE_FORMAT(hiredate,"%Y") = 1981
AND DATE_FORMAT(hiredate,"%m") <= 6;

MySQL學(xué)習(xí)之日期函數(shù)怎么使用

日期計(jì)算的注意事項(xiàng)

在 MySQL 中,兩個(gè)日期之間是不能夠直接進(jìn)行相加或相減的;同時(shí),日期也是不能夠與數(shù)字進(jìn)行相加、減的。

原因在于,日期是一個(gè)特殊計(jì)算單位,而且進(jìn)制之間也不是普通的十進(jìn)制那樣。

雖然我們使用 日期 去進(jìn)行 “+1” 的操作不會(huì)產(chǎn)生語法上的錯(cuò)誤,但是得到的結(jié)果是純數(shù)字,而不是我們想要的日期格式的結(jié)果。(示例如下)

SELECT ename, hiredate, hiredate+1 FROM t_emp;

MySQL學(xué)習(xí)之日期函數(shù)怎么使用

日期偏移計(jì)算

DATE_ADD() 函數(shù) 可以實(shí)現(xiàn)日期的偏移計(jì)算,并且在 時(shí)間單位的處理上,比較的靈活。

語法如下:

SELECT DATE_ADD("原始日期", INTERVAL, 偏移量, 時(shí)間單位)        -- INTERVAL 是 關(guān)鍵字

"DATE_ADD() 函數(shù)" 演示案例如下

SELECT DATE_ADD(NOW(), INTERVAL 10 DAY);         -- 得到的結(jié)果為 10 天 之后的日期時(shí)間
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE);         -- 得到的結(jié)果為 500 分鐘 之前的日期時(shí)間
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY);         -- 得到的結(jié)果為 6 個(gè)月 3 天 之前的日期時(shí)間
SELECT 
DATE_FORMAT(
DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE;     -- 返回 "%Y-%m-%d" 格式結(jié)果

計(jì)算日期之間相隔的天數(shù)

DATEDIFF() 函數(shù) 用來計(jì)算兩個(gè)日期之間相差的天數(shù),語法如下:

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 函數(shù)的語法,當(dāng)?shù)谝粋€(gè)參數(shù)的值為null 的時(shí)候,則返回第二個(gè)參數(shù)的值
-- DATEDIFF(expr1,expr2):DATEDIFF 函數(shù)的語法,計(jì)算第一個(gè)日期與第二個(gè)日期的偏差時(shí)間差
-- NOW():NOW 函數(shù)可以獲得當(dāng)前日期

MySQL學(xué)習(xí)之日期函數(shù)怎么使用

“MySQL學(xué)習(xí)之日期函數(shù)怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

文章標(biāo)題:MySQL學(xué)習(xí)之日期函數(shù)怎么使用
網(wǎng)站鏈接:http://bm7419.com/article30/gocppo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT網(wǎng)站收錄、網(wǎng)站營(yíng)銷域名注冊(cè)、企業(yè)建站、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)