中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中常用的日期相關函數有哪些

發布時間:2021-02-20 09:40:40 來源:億速云 閱讀:240 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹了MySQL中常用的日期相關函數有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

目錄

  • 第一部分:時間差函數 timestampdiff、datediff、timediff


    • 一、時間差函數:timestampdiff

    • 二、時間差函數:datediff

    • 三、時間差函數:timediff

    • 四、其他日期函數

    • 其他日期函數

  • 第二部分 日期、時間戳、字符串互相轉換


    • 其他

第一部分:時間差函數 timestampdiff、datediff、timediff

一、時間差函數:timestampdiff

語法:timestampdiff(interval, datetime1,datetime2)
結果:返回(時間2-時間1)的時間差,結果單位由 interval 參數給出。

interval
frac_second 毫秒(低版本不支持,用second,再除于1000)
second 秒
minute 分鐘
hour 小時
day 天
week 周
month 月
quarter 季度
year 年

注意:MySQL 5.6之后才支持毫秒的記錄和計算,如果是之前的版本,最好是在數據庫除datetime類型之外的字段,再建立用于存儲毫秒的int字段,然后自己進行轉換計算。# 所有格式

SELECT TIMESTAMPDIFF(FRAC_SECOND,'2012-10-01','2013-01-13'); # 暫不支持SELECT TIMESTAMPDIFF(SECOND,'2012-10-01','2013-01-13'); # 8985600SELECT TIMESTAMPDIFF(MINUTE,'2012-10-01','2013-01-13'); # 149760SELECT TIMESTAMPDIFF(HOUR,'2012-10-01','2013-01-13'); # 2496SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13'); # 104SELECT TIMESTAMPDIFF(WEEK,'2012-10-01','2013-01-13'); # 14SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13'); # 3SELECT TIMESTAMPDIFF(QUARTER,'2012-10-01','2013-01-13'); # 1SELECT TIMESTAMPDIFF(YEAR,'2012-10-01','2013-01-13'); # 0

二、時間差函數:datediff

語法:SELECT DATEDIFF(日期1, 日期2)
結果:日期1 - 日期2 的天數的差

SLECT DATEDIFF('2013-01-13','2012-10-01'); # 104

三、時間差函數:timediff

語法:timediff(time1,time2)
結果:返回 time1-time2 的差值

SELECT TIMEDIFF('2018-05-21 14:51:43','2018-05-19 12:54:43');#49:57:00

注意:該方法兩個參數必須為日期格式

四、其他日期函數

  • now()函數返回的是當前時間的年月日時分秒

  • curdate()函數返回的是年月日信息

  • curtime()函數返回的是當前時間的時分秒信息

  • 對一個包含年月日時分秒日期格式化成年月日日期,可以使用DATE(time)函數

其他日期函數

SELECT NOW(); # 2018-05-21 14:41:00SELECT CURDATE(); # 2018-05-21SELECT CURTIME(); # 14:41:38SELECT DATE(NOW()); # 2018-05-21SELECT SYSDATE(); # 2018-05-21 14:47:11SELECT CURRENT_TIME(); # 14:51:30SELECT CURRENT_TIMESTAMP; # 2018-05-21 14:51:37SELECT CURRENT_TIMESTAMP(); # 2018-05-21 14:51:43

注意:now()與sysdate()類似,只不過now()在執行開始時就獲取,而sysdate()可以在函數執行時動態獲取。

第二部分 日期、時間戳、字符串互相轉換

#時間日期轉字符串  相當與Oracle中的to_char函數select date_format(now(), '%Y-%m-%d'); #結果:2017-02-27#時間轉時間戳select unix_timestamp(now()); #結果:1488160428#字符串轉時間select str_to_date('2017-02-27', '%Y-%m-%d %H'); #結果:2017-02-27 00:00:00select str_to_date('2017-10-16 15:30:28','%Y-%m-%d %H:%i:%s'); #結果 2017-10-16 15:30:28#注意 年是大寫‘Y’,小時也必須是大寫‘H’    (如果其他為大寫,則得到結果為null)#字符串轉時間戳select unix_timestamp('2017-02-27'); #結果:1488124800#時間戳轉時間select from_unixtime(1488160428); #結果:2017-02-27 09:53:48#時間戳轉字符串select from_unixtime(1488160428,'%Y-%m-%d %T'); #結果:2017-02-27 09:53:48

 SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s'); -- 獲取當天零點select curdate();                       --獲取當前日期select last_day(curdate());                    --獲取當月最后一天。select DATE_ADD(curdate(),interval -day(curdate())+1 day);   --獲取本月第一天select date_add(curdate()-day(curdate())+1,interval 1 month); -- 獲取下個月的第一天select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; --獲取當前月的天數

其他

SELECT DAY('2021-2-17') -- 當前月的第幾天(17)SELECT MONTH('2021-2-17') -- 當前為幾月(2)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“MySQL中常用的日期相關函數有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥滨县| 威信县| 澄城县| 苏尼特左旗| 栾城县| 石林| 商南县| 德庆县| 新余市| 察隅县| 湟中县| 潜山县| 年辖:市辖区| 仁布县| 陵水| 奇台县| 平安县| 红安县| 吉木萨尔县| 定西市| 手游| 耿马| 澄城县| 阳城县| 河东区| 开封市| 浮梁县| 临泉县| 太仆寺旗| 喀喇| 禹城市| 时尚| 炎陵县| 新巴尔虎左旗| 武威市| 龙山县| 乐都县| 鸡西市| 宜章县| 乳源| 沙河市|