日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

一篇文章搞定Mysql日期時(shí)間函數(shù)

瀏覽:333日期:2023-10-07 19:41:32
前言

日期和時(shí)間函數(shù)部分也是我們?nèi)粘9ぷ髦惺褂妙l率比較高的一部分。這一篇我們主要講講Mysql里面的日期時(shí)間相關(guān)的函數(shù),不同數(shù)據(jù)庫之間基本相同,只會(huì)有個(gè)別函數(shù)的差異。大家掌握一個(gè)數(shù)據(jù)庫的,其他的遇到不會(huì)的,直接查就可以了。

1.獲取當(dāng)前時(shí)刻時(shí)間

1.1返回當(dāng)前時(shí)刻的日期和時(shí)間

1.2獲取當(dāng)前時(shí)刻的日期

1.3獲取當(dāng)前時(shí)刻的時(shí)間

1.4獲取當(dāng)前時(shí)刻的周數(shù)

2.日期時(shí)間格式轉(zhuǎn)換

3.日期時(shí)間運(yùn)算

3.1向后偏移時(shí)間

3.2向前偏移時(shí)間

3.3兩日期做差

文章較長(zhǎng),建議先收藏,慢慢讀。

1.獲取當(dāng)前時(shí)刻時(shí)間

獲取當(dāng)前時(shí)刻的時(shí)間就是獲取程序運(yùn)行的那一刻與時(shí)間相關(guān)的數(shù)據(jù),比如年月日、時(shí)分秒等信息。

1.1返回當(dāng)前時(shí)刻的日期和時(shí)間

返回當(dāng)前時(shí)刻的日期和時(shí)間在ESql中用的是now()函數(shù),直接在select后面寫上now()函數(shù)即可,具體代碼如下:

select now()

運(yùn)行上面代碼就會(huì)得到你程序運(yùn)行這一刻所處的年月日、時(shí)分秒的信息,比如:2019-12-25 22:47:37。

1.2獲取當(dāng)前時(shí)刻的日期

前面的now()函數(shù)獲取的是當(dāng)前時(shí)刻的日期和時(shí)間,我們有的時(shí)候可能只需要當(dāng)前時(shí)刻的日期部分,并不需要時(shí)間部分,這個(gè)時(shí)候在在Sql中將now()函數(shù)換成curdate()函數(shù),就是獲取當(dāng)前時(shí)刻的日期部分,具體代碼如下:

select curdate()

通過運(yùn)行上面的代碼,我們得到了當(dāng)前時(shí)刻的日期部分:2019-12-25

curdate()函數(shù)是直接獲取當(dāng)前時(shí)刻的日期部分,我們也可以先通過now()函數(shù)獲取當(dāng)前時(shí)刻的日期時(shí)間,然后再通過date()函數(shù)將日期時(shí)間轉(zhuǎn)化為日期部分,具體代碼如下:

select date(now())

通過運(yùn)行上面的代碼,會(huì)得到與curdate()函數(shù)相同的結(jié)果。

我們也可以只獲取日期中的年,使用的是year()函數(shù),具體代碼如下:

select year(now())

通過運(yùn)行上面的代碼,最后得到的結(jié)果為2019。

我們也可以只獲取日期中的月,使用的是month()函數(shù),具體代碼如下:

select month(now())

通過運(yùn)行上面的代碼,最后得到的結(jié)果為12。

我們也可以只獲取日期中的日,使用的是day()函數(shù),具體代碼如下:

select day(now())

通過運(yùn)行上面的代碼,最后得到的結(jié)果為25。

1.3獲取當(dāng)前時(shí)刻的時(shí)間

我們除了有只獲取當(dāng)前時(shí)刻的日期的需求外,我們還有只獲取當(dāng)前時(shí)刻的時(shí)間需求。如果我們想只獲取當(dāng)前時(shí)刻的時(shí)間,只需要把只獲取當(dāng)前時(shí)刻日期的curdate()函數(shù)換成curtime()函數(shù)即可,具體代碼如下:

select curtime()

通過運(yùn)行上面的代碼,就可以獲取當(dāng)前時(shí)刻的時(shí)間部分:22:47:37。

我們也可以先通過now()函數(shù)獲取當(dāng)前時(shí)刻的日期時(shí)間,然后再通過time()函數(shù)將日期時(shí)間轉(zhuǎn)化為時(shí)間部分,具體代碼如下:

select time(now())

通過運(yùn)行上面的代碼,會(huì)得到與curdate()函數(shù)相同的結(jié)果。

我們也可以只獲取時(shí)間中的小時(shí),使用的是hour()函數(shù),具體代碼如下:

select hour(now())

通過運(yùn)行上面的代碼,最后得到的結(jié)果為22。

我們也可以只獲取時(shí)間中的分鐘,使用的是minute()函數(shù),具體代碼如下:

select minute(now())

通過運(yùn)行上面的代碼,最后得到的結(jié)果為47。

我們也可以只獲取時(shí)間中的秒,使用的是second()函數(shù),具體代碼如下:

select second(now())

通過運(yùn)行上面的代碼,最后得到的結(jié)果為37。

1.4獲取當(dāng)前時(shí)刻的周數(shù)

上面我們講了如何獲取當(dāng)前時(shí)刻的日期時(shí)間、日期、時(shí)間這三部分。這一節(jié)我們?cè)倏聪氯绾潍@取當(dāng)前時(shí)刻所屬的周數(shù)。我們一般會(huì)將全年分為52周(365天/7),有的時(shí)候也可能是53周,如果我們想看下當(dāng)前時(shí)刻是全年中的第幾周,可以使用weekofyear()函數(shù),具體代碼如下:

select weekofyear(now())

通過運(yùn)行上面的代碼,最后得到的結(jié)果為52。

除了獲取當(dāng)前是全年的第幾周以外,我們還需要獲取當(dāng)天是一周內(nèi)的周幾。在Sql中使用的dayofweek()函數(shù),具體代碼如下:

select dayofweek(now())

通過運(yùn)行上面的代碼,最后得到結(jié)果為5,2019年12月25日應(yīng)該是周四哈,為什么結(jié)果是5呢,這是因?yàn)樵摵瘮?shù)中一周是從周日開始的,也就是周日對(duì)應(yīng)的是1,周一對(duì)應(yīng)的是2,以此類推,所以周四對(duì)應(yīng)的是5。

2.日期時(shí)間格式轉(zhuǎn)換

我們知道同一個(gè)日期時(shí)間會(huì)有多種不同的表示方式,有的時(shí)候需要在不同格式之間相互轉(zhuǎn)換。在Sql中我們用的是date_format()函數(shù),date_format函數(shù)格式如下:

date_format(datetime,format)

datetime表示要被轉(zhuǎn)換的具體的日期時(shí)間,format表示要轉(zhuǎn)換成的格式,可選的格式如下:

主題

格式

描述

%Y

4位數(shù)的年

%b

月份對(duì)應(yīng)的英文縮寫

%M

月份對(duì)應(yīng)的英文全稱

%m

01-12的月

%c

1-12的月份數(shù)值

%d

01-31的某月里面的第幾天

%e

1-31的某月里面的第幾天

%D

用th后綴表示某月中的第幾天

%j

001-366的一年中的第幾天

%a

星期幾對(duì)應(yīng)的英文縮寫

%W

星期幾對(duì)應(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)行上面的代碼,就會(huì)返回4位數(shù)的年、01-12的月、01-31的天,三者之間且用-分隔開來,即2019-12-25。

這里需要注意下1和01的區(qū)別,本質(zhì)上都是表示的1,但是展示上會(huì)有些不太一樣,比如下面代碼中,我們的原日期是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)行上面的代碼就會(huì)返回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)行上面的代碼,就會(huì)分別獲取到datetime中的年月日,具體結(jié)果如下:

col1

col2

col3

2019

12

25

3.日期時(shí)間運(yùn)算

有的時(shí)候我們也需要對(duì)日期之間進(jìn)行運(yùn)算,比如我要獲取今天往前7天對(duì)應(yīng)的日期,或者今天往后13天對(duì)應(yīng)的日期,可以去翻日歷,也可以去數(shù)數(shù),但是這些方法肯定都不是最直接的方法。所以需要日期之間的運(yùn)算。

3.1向后偏移時(shí)間

比如我們要獲取今天之后的x天對(duì)應(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表示你要加的單位,是往后移動(dòng)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)行上面的代碼,就會(huì)返回2019-01-01往后7年、7月、7天對(duì)應(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)行上面的代碼,就會(huì)返回2019-01-01 01:01:01往后7小時(shí)、7分鐘、7秒對(duì)應(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

3.2向前偏移時(shí)間

有向后偏移,就會(huì)有向前偏移。比如我們要獲取今天之前的若干天,就是相當(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)行上面的代碼,就會(huì)返回2019-01-01往前7年、7月、7天對(duì)應(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é)果是一致的。

3.3兩日期做差

上面講完了向前偏移、向后偏移,我們有的時(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)行上面的代碼,會(huì)返回2019-01-07與2019-01-01之間的天數(shù)差,結(jié)果為6。

你還可以看:

Sql 的執(zhí)行順序是怎樣的?

到此這篇關(guān)于Mysql日期時(shí)間函數(shù)的文章就介紹到這了,更多相關(guān)Mysql日期時(shí)間函數(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品日本一区二区三区在线 | 日韩激情一区二区| 亚洲精一区二区三区| 欧美亚洲人成在线| 91一区二区三区四区| 成人羞羞视频在线看网址| 亚洲色诱最新| 日本不卡视频一二三区| 久久亚洲色图| 91亚洲国产| 综合亚洲自拍| 免播放器亚洲一区| 麻豆成人在线| 国产香蕉精品| 国产成人精选| 伊人久久视频| 午夜天堂精品久久久久| 伊人久久一区| 91视频精品| 亚洲日产国产精品| 亚洲美洲欧洲综合国产一区| 亚洲激情av| 久久久亚洲欧洲日产| 日本中文字幕一区二区视频| 国际精品欧美精品| 日韩中文欧美| 欧美日韩中文一区二区| 久久99蜜桃| 国产亚洲永久域名| 欧美91福利在线观看| 91成人在线精品视频| 亚洲精品国产偷自在线观看| 久久av综合| 视频一区视频二区中文字幕| 在线一区免费观看| 92国产精品| 日韩1区2区日韩1区2区| 久久亚洲成人| 卡一精品卡二卡三网站乱码| 婷婷亚洲综合| 麻豆精品在线视频| 红桃视频国产精品| 午夜在线视频一区二区区别| 日韩精品社区| 91视频久久| 在线观看精品| 亚洲人成亚洲精品| 久久精品欧美一区| 国产欧美日韩一区二区三区四区| 欧美日韩在线观看视频小说| 日本不卡一区二区三区| 日韩一区二区免费看| 国产激情在线播放| 国产精品一区二区99| 日韩精品一二三四| 久久国产主播| 国产成人精选| 免费视频最近日韩| 国产高清久久| 中文字幕系列一区| 综合亚洲色图| 精品国产午夜肉伦伦影院| 欧美中文字幕一区二区| 国产精品chinese| 91大神在线观看线路一区| 亚洲欧美日韩国产| 婷婷激情图片久久| 国产一区观看| 久久精品影视| 日韩啪啪电影网| 精品精品99| 久久香蕉网站| 一区二区电影在线观看| 国产免费成人| 亚洲一区免费| 亚洲一级在线| 美女福利一区二区三区| 国产精品白浆| 国产精品magnet| 激情综合五月| 亚洲精品91| 国产精品视频一区二区三区四蜜臂 | 亚洲伊人影院| 六月天综合网| 日韩一区精品视频| 综合亚洲自拍| 欧美一区二区三区免费看| 日韩精品欧美大片| 国产午夜久久av| 国产毛片精品| 激情久久99| 四虎4545www国产精品| 亚洲精品日本| 国产欧美日韩在线观看视频| 免费看一区二区三区| 国产精品麻豆成人av电影艾秋 | 97久久超碰| 国产精品一线天粉嫩av| 国产日本精品| 久久久久久婷| 国产亚洲欧美日韩精品一区二区三区| 日本亚州欧洲精品不卡| 国产亚洲久久| 精品久久久久中文字幕小说| 精品美女在线视频| 蜜桃视频在线网站| 影音国产精品| 国产精品三上| 欧美日本一区| 精品免费av一区二区三区| 黄色aa久久| 午夜免费一区| 婷婷视频一区二区三区| 久久a爱视频| 99久久99视频只有精品| 亚洲中字黄色| 日韩欧美三区| 精品一区视频| 久久高清免费| 激情91久久| 日韩和欧美的一区| 天堂网在线观看国产精品| 91免费精品| 久久最新视频| 麻豆精品蜜桃| 亚洲精品在线国产| 国产欧美日韩一区二区三区在线| 国产伦久视频在线观看| 久久亚洲欧美| 卡一卡二国产精品| 国产一区二区中文| 欧美一区在线观看视频| 久久久男人天堂| 午夜亚洲一区| 免费一区二区三区在线视频| 精品91福利视频| 亚洲一区久久| 成人一二三区| 91精品精品| 国产精品xxx在线观看| 日韩av中文在线观看| 国产探花在线精品一区二区| 欧美私人啪啪vps| 久久99影视| 成人在线视频中文字幕| 日韩欧美少妇| 美女亚洲一区| 蜜臀国产一区二区三区在线播放| 亚洲一区二区三区中文字幕在线观看| 在线国产日韩| 日韩精品一级中文字幕精品视频免费观看 | 99视频一区| 国产午夜久久| 日本欧美一区二区| 精品亚洲成人| 99国产精品免费视频观看| 免费日韩av片| 国产日韩中文在线中文字幕| 91嫩草亚洲精品| 先锋影音国产一区| 国产日韩欧美| 国产麻豆久久| 日韩影片在线观看| 成人午夜毛片| 亚洲一区欧美激情| 国产精品久久久久久久久久久久久久久| 日韩av在线中文字幕| 极品av在线| 亚洲一区久久| 麻豆一区二区三| 久久九九国产| 欧美日韩精品一区二区三区视频 | 视频一区在线播放| 欧美午夜三级| 亚洲天堂一区二区| 亚洲一级淫片| 97人人精品| 一区二区亚洲视频| 欧美国产美女| 少妇精品久久久一区二区| 麻豆精品久久久| 亚洲经典在线| 欧美aa在线视频| 91久久视频| 麻豆精品国产91久久久久久| 在线一区免费| 美女av一区| 免费人成黄页网站在线一区二区| 国产日韩欧美中文在线| 国产99精品| 国产精品欧美大片| 影音先锋久久| 国产一区二区三区亚洲综合| 久久福利影视| 国产精品毛片久久| 欧美一级全黄| 亚洲少妇一区| www在线观看黄色| 日韩国产欧美三级| japanese国产精品|