MySQL中日期型單行函數代碼詳解

MySQL中日期型單行函數:

CURDATE()CURRENT_DATE() 返回當前日期(精確到日)
參考代碼如下:

SELECT CURDATE()
FROM DUAL;
SELECT CURRENT_DATE()
FROM DUAL;

———————————–(分割線)————————————

CURTIME()CURRENT_TIME() 返回當前時間(精確到秒)
參考代碼如下:

SELECT CURTIME()
FROM DUAL;
SELECT CURRENT_TIME()
FROM DUAL;

———————————–(分割線)————————————

NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP() 返回當前系統日期時間(精確到秒)
參考代碼如下:

SELECT NOW()
FROM DUAL;
SELECT LOCALTIME()
FROM DUAL;

———————————–(分割線)————————————

YEAR(date) 顯示年 / MONTH(date) 顯示月 / DAY(date) 顯示日 / HOUR(time)顯示時 / MINUTE(TIME) 顯示分 / SECOND(TIME) 顯示秒
參考代碼如下:

SELECT YEAR(CURDATE()), MONTH(CURDATE()),DAY(CURDATE())
FROM DUAL;
SELECT HOUR(CURTIME()),MINUTE(NOW()),SECOND(NOW())
FROM DUAL;

備註:這裡的函數,其括號裡面的內容來自於前面指出的幾個函數。

———————————–(分割線)————————————

WEEK(date)/WEEKOFYEAR(date) 返回一年中的第幾周
參考代碼如下:

SELECT WEEK(NOW())
FROM DUAL;
SELECT WEEKOFYEAR(CURDATE())
FROM DUAL;

———————————–(分割線)————————————

DAYOFWEEK(DATE) 返回周幾,註意:周日是1,周一是2,…周六是7
參考代碼如下:

SELECT DAYOFWEEK(NOW())  
FROM DUAL;

代碼編譯結果如下:

在這裡插入圖片描述

說明當下是周四

———————————–(分割線)————————————

WEEKDAY(DATE) 返回周幾,註意,周1是0,周2是1,…周日是6
參考代碼如下:

SELECT WEEKDAY(NOW())  
FROM DUAL;

代碼編譯結果如下:

在這裡插入圖片描述

說明當下是周四

———————————–(分割線)————————————

8.DAYNAME(date) 返回星期:MONDAY,TUESDAY…SUNDAY
參考代碼如下:

SELECT DAYNAME(CURDATE()),DAYNAME('2020-09-06')  #隱式轉換  
FROM DUAL;

代碼編譯結果如下:

在這裡插入圖片描述

備註:
這裡用到瞭一個轉換,日期可以被默認轉換為字符串,這叫隱式轉換。另外補充一下幾個常用概念:
格式化:日期轉換為字符串
解析:字符串轉換為日期
舉例代碼如下:

字符串轉換為日期(解析)(顯式轉換)

SELECT STR_TO_DATE('09/01/2009','%m/%d/%Y')
FROM DUAL;   

代碼編譯結果如下:

在這裡插入圖片描述

字符串轉換為日期(解析)(顯式轉換)

SELECT STR_TO_DATE('20140422154706','%Y%m%d%H%i%s')
FROM DUAL;   

代碼編譯結果如下:

在這裡插入圖片描述

字符串轉換為日期(解析)(顯式轉換)

SELECT STR_TO_DATE('2014-04-22 15:47:06','%Y-%m-%d %H:%i:%s')
FROM DUAL;    

代碼編譯結果如下:

在這裡插入圖片描述

———————————–(分割線)————————————

9.MONTHNAME(DATE) 返回月份:January…

SELECT MONTHNAME(NOW())  
FROM DUAL;

———————————–(分割線)————————————

DATEDIFF(date1,date2) 返回date1 – date2的日期間隔
TIMEDIFF(time1,time2) 返回time1 – time2的時間間隔
參考代碼如下:

SELECT DATEDIFF('2021-03-06','2021-06-09')  
FROM DUAL;

備註:返回的值是兩個日期之間所差的天數=date1-date2,若date1在date2的前面,則所得為負值。
代碼編譯結果如下:

在這裡插入圖片描述

SELECT TIMEDIFF('2019-06-06 18:23:06','2019-08-06 10:36:45')
FROM DUAL;

備註:返回的值是兩個時間之間所差的【小時數:分鐘數:秒數】=time1-time2,若time1在time2的前面,則所得為負值。
代碼編譯結果如下:

在這裡插入圖片描述

以上就是MySQL中日期型單行函數的詳細內容,更多關於mysql單行函數的資料請關註WalkonNet其它相關文章!

推薦閱讀: