MySQL中日期型單行函數(shù)代碼詳解
MySQL中日期型單行函數(shù):
CURDATE()或CURRENT_DATE() 返回當(dāng)前日期(精確到日)
參考代碼如下:
SELECT CURDATE() FROM DUAL;
SELECT CURRENT_DATE() FROM DUAL;
-----------------------------------(分割線)------------------------------------
CURTIME() 或CURRENT_TIME() 返回當(dāng)前時(shí)間(精確到秒)
參考代碼如下:
SELECT CURTIME() FROM DUAL;
SELECT CURRENT_TIME() FROM DUAL;
-----------------------------------(分割線)------------------------------------
NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP() 返回當(dāng)前系統(tǒng)日期時(shí)間(精確到秒)
參考代碼如下:
SELECT NOW() FROM DUAL;
SELECT LOCALTIME() FROM DUAL;
-----------------------------------(分割線)------------------------------------
YEAR(date) 顯示年 / MONTH(date) 顯示月 / DAY(date) 顯示日 / HOUR(time)顯示時(shí) / MINUTE(TIME) 顯示分 / SECOND(TIME) 顯示秒
參考代碼如下:
SELECT YEAR(CURDATE()), MONTH(CURDATE()),DAY(CURDATE()) FROM DUAL;
SELECT HOUR(CURTIME()),MINUTE(NOW()),SECOND(NOW()) FROM DUAL;
備注:這里的函數(shù),其括號(hào)里面的內(nèi)容來(lái)自于前面指出的幾個(gè)函數(shù)。
-----------------------------------(分割線)------------------------------------
WEEK(date)/WEEKOFYEAR(date) 返回一年中的第幾周
參考代碼如下:
SELECT WEEK(NOW()) FROM DUAL;
SELECT WEEKOFYEAR(CURDATE()) FROM DUAL;
-----------------------------------(分割線)------------------------------------
DAYOFWEEK(DATE) 返回周幾,注意:周日是1,周一是2,…周六是7
參考代碼如下:
SELECT DAYOFWEEK(NOW()) FROM DUAL;
代碼編譯結(jié)果如下:

說(shuō)明當(dāng)下是周四
-----------------------------------(分割線)------------------------------------
WEEKDAY(DATE) 返回周幾,注意,周1是0,周2是1,…周日是6
參考代碼如下:
SELECT WEEKDAY(NOW()) FROM DUAL;
代碼編譯結(jié)果如下:

說(shuō)明當(dāng)下是周四
-----------------------------------(分割線)------------------------------------
8.DAYNAME(date) 返回星期:MONDAY,TUESDAY…SUNDAY
參考代碼如下:
SELECT DAYNAME(CURDATE()),DAYNAME('2020-09-06') #隱式轉(zhuǎn)換
FROM DUAL;
代碼編譯結(jié)果如下:

備注:
這里用到了一個(gè)轉(zhuǎn)換,日期可以被默認(rèn)轉(zhuǎn)換為字符串,這叫隱式轉(zhuǎn)換。另外補(bǔ)充一下幾個(gè)常用概念:
格式化:日期轉(zhuǎn)換為字符串
解析:字符串轉(zhuǎn)換為日期
舉例代碼如下:
字符串轉(zhuǎn)換為日期(解析)(顯式轉(zhuǎn)換)
SELECT STR_TO_DATE('09/01/2009','%m/%d/%Y')
FROM DUAL;
代碼編譯結(jié)果如下:

字符串轉(zhuǎn)換為日期(解析)(顯式轉(zhuǎn)換)
SELECT STR_TO_DATE('20140422154706','%Y%m%d%H%i%s')
FROM DUAL;
代碼編譯結(jié)果如下:

字符串轉(zhuǎn)換為日期(解析)(顯式轉(zhuǎn)換)
SELECT STR_TO_DATE('2014-04-22 15:47:06','%Y-%m-%d %H:%i:%s')
FROM DUAL;
代碼編譯結(jié)果如下:

-----------------------------------(分割線)------------------------------------
9.MONTHNAME(DATE) 返回月份:January…
SELECT MONTHNAME(NOW()) FROM DUAL;
-----------------------------------(分割線)------------------------------------
DATEDIFF(date1,date2) 返回date1 - date2的日期間隔
TIMEDIFF(time1,time2) 返回time1 - time2的時(shí)間間隔
參考代碼如下:
SELECT DATEDIFF('2021-03-06','2021-06-09')
FROM DUAL;
備注:返回的值是兩個(gè)日期之間所差的天數(shù)=date1-date2,若date1在date2的前面,則所得為負(fù)值。
代碼編譯結(jié)果如下:

SELECT TIMEDIFF('2019-06-06 18:23:06','2019-08-06 10:36:45')
FROM DUAL;
備注:返回的值是兩個(gè)時(shí)間之間所差的【小時(shí)數(shù):分鐘數(shù):秒數(shù)】=time1-time2,若time1在time2的前面,則所得為負(fù)值。
代碼編譯結(jié)果如下:

以上就是MySQL中日期型單行函數(shù)的詳細(xì)內(nèi)容,更多關(guān)于mysql單行函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL中distinct和count(*)的使用方法比較
這篇文章主要針對(duì)MySQL中distinct和count(*)的使用方法比較,對(duì)兩者之間的使用方法、效率進(jìn)行了詳細(xì)分析,感興趣的小伙伴們可以參考一下2015-11-11
MySQL中int?(10)?和?int?(11)?的區(qū)別
MySQL中復(fù)制表結(jié)構(gòu)及其數(shù)據(jù)的5種方式
mysql遷移至8.0時(shí)的注意事項(xiàng)(小結(jié))
MySQL允許遠(yuǎn)程登錄的操作實(shí)現(xiàn)
MySQL借助DB實(shí)現(xiàn)分布式鎖思路詳解

