主題 |
格式 |
描述 |
---|---|---|
年 |
%Y |
4位數(shù)的年 |
月 |
%b |
月份對應(yīng)的英文縮寫 |
月 |
%M |
月份對應(yīng)的英文全稱 |
月 |
%m |
01-12的月 |
月 |
%c |
1-12的月份數(shù)值 |
日 |
%d |
01-31的某月里面的第幾天 |
日 |
%e |
1-31的某月里面的第幾天 |
日 |
%D |
用th后綴表示某月中的第幾天 |
日 |
%j |
001-366的一年中的第幾天 |
周 |
%a |
星期幾對應(yīng)的英文縮寫 |
周 |
%W |
星期幾對應(yīng)的英文全稱 |
時(shí) |
%H |
00-23的小時(shí) |
時(shí) |
%h |
01-12的小時(shí) |
分 |
%i |
00-59的分鐘 |
秒 |
%S |
秒(00-59) |
秒 |
%f |
微秒 |
時(shí)分秒 |
%T |
返回當(dāng)前的時(shí)分秒, 24-小時(shí) (hh:mm:ss) |
select date_format("2019-12-25 22:47:37","%Y-%m-%d")
通過運(yùn)行上面的代碼,就會返回4位數(shù)的年、01-12的月、01-31的天,三者之間且用-分隔開來,即2019-12-25。
這里需要注意下1和01的區(qū)別,本質(zhì)上都是表示的1,但是展示上會有些不太一樣,比如下面代碼中,我們的原日期是2019-1-1,但是返回的結(jié)果是2019-01-01的。
select date_format("2019-1-1 22:47:37","%Y-%m-%d") select date_format("2019-12-25 22:47:37","%H:%i:%S")
通過運(yùn)行上面的代碼就會返回00-23的小時(shí)、00-59的分、00-59的秒,三者之間用:分隔開來,即22:47:37。
除了date_format()函數(shù)以外,還有另外一個(gè)函數(shù)extract,用于返回一個(gè)具體日期時(shí)間中的單獨(dú)部分,比如年、月、日、小時(shí)、分鐘等等。具體形式如下:
extract(unit from datetime)
datetime表示具體的日期時(shí)間,unit表示要從datetime中返回的單獨(dú)的部分。unit值可以是下列的值:
unit |
說明 |
---|---|
year |
年 |
month |
月 |
day |
日 |
hour |
小時(shí) |
minute |
分鐘 |
second |
秒 |
week |
周數(shù),全年第幾周 |
select extract(year from "2019-12-25 22:47:37") as col1 ,extract(month from "2019-12-25 22:47:37") as col2 ,extract(day from "2019-12-25 22:47:37") as col3
通過運(yùn)行上面的代碼,就會分別獲取到datetime中的年月日,具體結(jié)果如下:
col1 |
col2 |
col3 |
---|---|---|
2019 |
12 |
25 |
有的時(shí)候我們也需要對日期之間進(jìn)行運(yùn)算,比如我要獲取今天往前7天對應(yīng)的日期,或者今天往后13天對應(yīng)的日期,可以去翻日歷,也可以去數(shù)數(shù),但是這些方法肯定都不是最直接的方法。所以需要日期之間的運(yùn)算。
比如我們要獲取今天之后的x天對應(yīng)的日期,就是相當(dāng)于在今天日期的基礎(chǔ)上加x天,我們把這叫做向后偏移,這個(gè)時(shí)候就可以使用date_add()函數(shù),具體形式如下:
date_add(date,interval num unit)
date表示當(dāng)前的日期,或者當(dāng)前的日期時(shí)間;interval是一個(gè)固定的參數(shù);num為上面講到的x;unit表示你要加的單位,是往后移動7天,還是7月,還是7年,可選值與extract函數(shù)中unit的可選值是一樣的。
select "2019-01-01" as col1 ,date_add("2019-01-01",interval 7 year) as col2 ,date_add("2019-01-01",interval 7 month) as col3 ,date_add("2019-01-01",interval 7 day) as col4
通過運(yùn)行上面的代碼,就會返回2019-01-01往后7年、7月、7天對應(yīng)的日期,具體結(jié)果如下:
col1 |
col2 |
col3 |
col4 |
---|---|---|---|
2019-01-01 |
2026-01-01 |
2019-08-01 |
2019-01-08 |
select "2019-01-01 01:01:01" as col1 ,date_add("2019-01-01 01:01:01",interval 7 hour) as col2 ,date_add("2019-01-01 01:01:01",interval 7 minute) as col3 ,date_add("2019-01-01 01:01:01",interval 7 second) as col4
通過運(yùn)行上面的代碼,就會返回2019-01-01 01:01:01往后7小時(shí)、7分鐘、7秒對應(yīng)的日期,具體結(jié)果如下:
col1 |
col2 |
col3 |
col4 |
---|---|---|---|
2019-01-01 01:01:01 |
2019-01-01 08:01:01 |
2019-01-01 01:08:01 |
2019-01-01 01:01:08 |
有向后偏移,就會有向前偏移。比如我們要獲取今天之前的若干天,就是相當(dāng)于是在當(dāng)前日期的基礎(chǔ)上減去x天,這個(gè)時(shí)候我們使用的是date_sub()函數(shù),date_sub與date_add的函數(shù)形式是一樣的。把上面代碼中的date_add換成date_sub就表示向前偏移。
select "2019-01-01" as col1 ,date_sub("2019-01-01",interval 7 year) as col2 ,date_sub("2019-01-01",interval 7 month) as col3 ,date_sub("2019-01-01",interval 7 day) as col4
通過運(yùn)行上面的代碼,就會返回2019-01-01往前7年、7月、7天對應(yīng)的日期,具體結(jié)果如下:
col1 |
col2 |
col3 |
col4 |
---|---|---|---|
2019-01-01 |
2012-01-01 |
2018-06-01 |
2018-12-25 |
向前偏移指定的時(shí)間,我們除了使用date_sub以外,我們還可以繼續(xù)使用date_add,只不過把加的具體num值換成負(fù)數(shù)就行,比如7換成-7即可,具體實(shí)現(xiàn)代碼如下:
select "2019-01-01" as col1 ,date_add("2019-01-01",interval -7 year) as col2 ,date_add("2019-01-01",interval -7 month) as col3 ,date_add("2019-01-01",interval -7 day) as col4
通過運(yùn)行上面的結(jié)果與使用date_sub得出來的結(jié)果是一致的。
上面講完了向前偏移、向后偏移,我們有的時(shí)候還需要獲取兩日期之差,使用的datediff()函數(shù),datediff用于返回兩日期之間相差的天數(shù),函數(shù)形式如下:
datediff(end_date,start_date)
我們是用end_date去減start_date的。
select datediff("2019-01-07","2019-01-01")
通過運(yùn)行上面的代碼,會返回2019-01-07與2019-01-01之間的天數(shù)差,結(jié)果為6。
你還可以看:
Sql 的執(zhí)行順序是怎樣的?
到此這篇關(guān)于Mysql日期時(shí)間函數(shù)的文章就介紹到這了,更多相關(guān)Mysql日期時(shí)間函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:徐州 黔東 拉薩 沈陽 鹽城 沈陽 珠海 移動
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一篇文章搞定Mysql日期時(shí)間函數(shù)》,本文關(guān)鍵詞 一篇,文章,搞定,Mysql,日期,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。