成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

一篇文章搞定Mysql日期時間函數

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

日期和時間函數部分也是我們日常工作中使用頻率比較高的一部分。這一篇我們主要講講Mysql里面的日期時間相關的函數,不同數據庫之間基本相同,只會有個別函數的差異。大家掌握一個數據庫的,其他的遇到不會的,直接查就可以了。

1.獲取當前時刻時間

1.1返回當前時刻的日期和時間

1.2獲取當前時刻的日期

1.3獲取當前時刻的時間

1.4獲取當前時刻的周數

2.日期時間格式轉換

3.日期時間運算

3.1向后偏移時間

3.2向前偏移時間

3.3兩日期做差

文章較長,建議先收藏,慢慢讀。

1.獲取當前時刻時間

獲取當前時刻的時間就是獲取程序運行的那一刻與時間相關的數據,比如年月日、時分秒等信息。

1.1返回當前時刻的日期和時間

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

select now()

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

1.2獲取當前時刻的日期

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

select curdate()

通過運行上面的代碼,我們得到了當前時刻的日期部分:2019-12-25

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

select date(now())

通過運行上面的代碼,會得到與curdate()函數相同的結果。

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

select year(now())

通過運行上面的代碼,最后得到的結果為2019。

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

select month(now())

通過運行上面的代碼,最后得到的結果為12。

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

select day(now())

通過運行上面的代碼,最后得到的結果為25。

1.3獲取當前時刻的時間

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

select curtime()

通過運行上面的代碼,就可以獲取當前時刻的時間部分:22:47:37。

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

select time(now())

通過運行上面的代碼,會得到與curdate()函數相同的結果。

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

select hour(now())

通過運行上面的代碼,最后得到的結果為22。

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

select minute(now())

通過運行上面的代碼,最后得到的結果為47。

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

select second(now())

通過運行上面的代碼,最后得到的結果為37。

1.4獲取當前時刻的周數

上面我們講了如何獲取當前時刻的日期時間、日期、時間這三部分。這一節(jié)我們再看下如何獲取當前時刻所屬的周數。我們一般會將全年分為52周(365天/7),有的時候也可能是53周,如果我們想看下當前時刻是全年中的第幾周,可以使用weekofyear()函數,具體代碼如下:

select weekofyear(now())

通過運行上面的代碼,最后得到的結果為52。

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

select dayofweek(now())

通過運行上面的代碼,最后得到結果為5,2019年12月25日應該是周四哈,為什么結果是5呢,這是因為該函數中一周是從周日開始的,也就是周日對應的是1,周一對應的是2,以此類推,所以周四對應的是5。

2.日期時間格式轉換

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

date_format(datetime,format)

datetime表示要被轉換的具體的日期時間,format表示要轉換成的格式,可選的格式如下:

主題

格式

描述

%Y

4位數的年

%b

月份對應的英文縮寫

%M

月份對應的英文全稱

%m

01-12的月

%c

1-12的月份數值

%d

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

%e

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

%D

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

%j

001-366的一年中的第幾天

%a

星期幾對應的英文縮寫

%W

星期幾對應的英文全稱

%H

00-23的小時

%h

01-12的小時

%i

00-59的分鐘

%S

秒(00-59)

%f

微秒

時分秒

%T

返回當前的時分秒, 24-小時 (hh:mm:ss)

select date_format('2019-12-25 22:47:37','%Y-%m-%d')

通過運行上面的代碼,就會返回4位數的年、01-12的月、01-31的天,三者之間且用-分隔開來,即2019-12-25。

這里需要注意下1和01的區(qū)別,本質上都是表示的1,但是展示上會有些不太一樣,比如下面代碼中,我們的原日期是2019-1-1,但是返回的結果是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')

通過運行上面的代碼就會返回00-23的小時、00-59的分、00-59的秒,三者之間用:分隔開來,即22:47:37。

除了date_format()函數以外,還有另外一個函數extract,用于返回一個具體日期時間中的單獨部分,比如年、月、日、小時、分鐘等等。具體形式如下:

extract(unit from datetime)

datetime表示具體的日期時間,unit表示要從datetime中返回的單獨的部分。unit值可以是下列的值:

unit

說明

year

month

day

hour

小時

minute

分鐘

second

week

周數,全年第幾周

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

通過運行上面的代碼,就會分別獲取到datetime中的年月日,具體結果如下:

col1

col2

col3

2019

12

25

3.日期時間運算

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

3.1向后偏移時間

比如我們要獲取今天之后的x天對應的日期,就是相當于在今天日期的基礎上加x天,我們把這叫做向后偏移,這個時候就可以使用date_add()函數,具體形式如下:

date_add(date,interval num unit)

date表示當前的日期,或者當前的日期時間;interval是一個固定的參數;num為上面講到的x;unit表示你要加的單位,是往后移動7天,還是7月,還是7年,可選值與extract函數中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

通過運行上面的代碼,就會返回2019-01-01往后7年、7月、7天對應的日期,具體結果如下:

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

通過運行上面的代碼,就會返回2019-01-01 01:01:01往后7小時、7分鐘、7秒對應的日期,具體結果如下:

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向前偏移時間

有向后偏移,就會有向前偏移。比如我們要獲取今天之前的若干天,就是相當于是在當前日期的基礎上減去x天,這個時候我們使用的是date_sub()函數,date_sub與date_add的函數形式是一樣的。把上面代碼中的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

通過運行上面的代碼,就會返回2019-01-01往前7年、7月、7天對應的日期,具體結果如下:

col1

col2

col3

col4

2019-01-01

2012-01-01

2018-06-01

2018-12-25

向前偏移指定的時間,我們除了使用date_sub以外,我們還可以繼續(xù)使用date_add,只不過把加的具體num值換成負數就行,比如7換成-7即可,具體實現代碼如下:

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

通過運行上面的結果與使用date_sub得出來的結果是一致的。

3.3兩日期做差

上面講完了向前偏移、向后偏移,我們有的時候還需要獲取兩日期之差,使用的datediff()函數,datediff用于返回兩日期之間相差的天數,函數形式如下:

datediff(end_date,start_date)

我們是用end_date去減start_date的。

select datediff('2019-01-07','2019-01-01')

通過運行上面的代碼,會返回2019-01-07與2019-01-01之間的天數差,結果為6。

你還可以看:

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

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

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美伦理视频网站| 成人av网站免费观看| 国产成人在线视频网址| 欧美在线三级电影| 日本午夜精品视频在线观看| 一区二区三区四区五区视频| 亚洲九九爱视频| 亚洲一级一区| ㊣最新国产の精品bt伙计久久| www.视频一区| 久久久久久久久久久电影| 99久久久无码国产精品| 欧美www视频| youjizz国产精品| 久久精品一区二区三区不卡 | 国产成人精品网址| 91精品国产丝袜白色高跟鞋| 国产久卡久卡久卡久卡视频精品| 91精品国产高清一区二区三区蜜臀| 国产精品66部| 日韩美女一区二区三区四区| 不卡的av中国片| 亚洲国产精品t66y| 亚洲久久视频| 香蕉成人啪国产精品视频综合网| 亚洲欧美日韩视频二区| 日韩高清不卡在线| 欧美日韩国产另类不卡| 国产高清久久久| 久久精品亚洲精品国产欧美| 欧美91大片| 亚洲日韩欧美一区二区在线| 亚洲深夜福利| 日本v片在线高清不卡在线观看| 欧美日韩和欧美的一区二区| 国产麻豆成人传媒免费观看| 91精品国产综合久久精品app | 成人午夜激情片| 久久久久久日产精品| 91美女福利视频| 日韩一区欧美一区| 免费试看一区| 激情深爱一区二区| 欧美精品一区二区三区久久久| 国产精品xvideos88| 亚洲一区在线视频观看| 欧洲日韩一区二区三区| 国产精品一区二区久久不卡| 26uuu成人网一区二区三区| 欧美日韩岛国| 亚洲一区二区精品视频| 欧美伊人久久大香线蕉综合69| 成人免费高清在线| 中文字幕在线免费不卡| 久久综合一区| 白白色 亚洲乱淫| 亚洲美女电影在线| 在线观看一区二区精品视频| 成人在线一区二区三区| 国产精品久久久久久亚洲伦| 久久精品日韩| 国产精品中文字幕一区二区三区| 国产亚洲一本大道中文在线| 91久久中文| 蜜芽一区二区三区| 欧美精品一区二区三区视频| 亚洲国产日韩欧美| 久久超碰97人人做人人爱| 久久午夜免费电影| 亚洲一区精品视频| 国产成人免费网站| 亚洲人亚洲人成电影网站色| 色88888久久久久久影院按摩| 成人短视频下载| 一区二区三区**美女毛片| 欧美久久一二三四区| 国产在线视频欧美一区二区三区| 婷婷综合在线观看| 欧美电视剧在线看免费| 日韩亚洲精品在线| 国产凹凸在线观看一区二区| 亚洲欧美在线视频观看| 欧美日韩精品免费| 国外精品视频| 精品亚洲成av人在线观看| 国产蜜臀97一区二区三区 | 欧美美女bb生活片| 在线成人www免费观看视频| 免费观看久久久4p| 欧美国产成人在线| 在线视频欧美精品| 欧美一区二视频在线免费观看| 午夜精品久久久久久久99水蜜桃| 精品福利二区三区| 日本乱人伦一区| 欧美日韩系列| 国内一区二区视频| 亚洲日本一区二区| 精品久久久久av影院| 久久精品综合| 欧美日本不卡高清| 国产一区视频网站| 亚洲曰韩产成在线| 久久精品欧美一区二区三区不卡| 欧美色图片你懂的| 一区二区毛片| 91在线视频观看| 美女网站色91| 亚洲人妖av一区二区| 精品国产三级电影在线观看| 色美美综合视频| 亚洲看片一区| 99久久精品免费| 国产自产v一区二区三区c| 一区二区三区四区五区视频在线观看| 精品国产a毛片| 欧美亚洲精品一区| 一本色道久久综合亚洲二区三区| 国产成人精品三级| 美国三级日本三级久久99| 亚洲自拍偷拍麻豆| 国产欧美一区视频| 91麻豆精品91久久久久久清纯| 噜噜噜在线观看免费视频日韩 | 中日韩在线视频| 色综合天天综合网天天看片| 久久99日本精品| 亚洲一区二区偷拍精品| 国产色产综合产在线视频| 欧美老肥妇做.爰bbww视频| 欧美亚洲专区| 亚洲国产日韩美| 欧美视频不卡| 99久久久久久| 国产成人av影院| 久久国产精品99久久人人澡| 午夜精品视频一区| 亚洲人成网站精品片在线观看| 久久精品人人做人人爽人人| 日韩免费观看高清完整版 | 日韩精品一区国产麻豆| 欧美日韩国产高清一区二区三区 | 欧美日本一区二区三区四区| 日本高清成人免费播放| 中文精品一区二区三区| 黄色国产精品一区二区三区| 99久久99久久精品免费观看| 国产电影一区在线| 精品在线视频一区| 美女视频一区在线观看| 日韩精品一二三四| 视频一区二区三区入口| 亚洲线精品一区二区三区八戒| 亚洲女同一区二区| 日韩毛片一二三区| 亚洲同性同志一二三专区| 国产精品久久久久三级| 国产精品视频yy9299一区| 久久久www成人免费毛片麻豆 | 亚洲另类视频| 亚洲国产精品一区二区第四页av| 欧美日韩一区二区三区四区在线观看 | 亚洲一区二区精品久久av| 亚洲精品一二三| 亚洲精品精品亚洲| 一区在线观看免费| 最新中文字幕一区二区三区| 国产精品青草综合久久久久99| 国产精品女同一区二区三区| 国产精品毛片a∨一区二区三区| 欧美国产精品劲爆| 国产精品国产三级国产aⅴ原创 | 日本一区二区免费在线观看视频| 久久影视一区二区| 久久久久久久久久久黄色| 精品国产一区二区亚洲人成毛片| 日韩一级片在线播放| 日韩免费一区二区三区在线播放| 精品国偷自产国产一区| 精品蜜桃在线看| 久久先锋资源网| 国产精品妹子av| 亚洲精品久久久久久国产精华液| 亚洲伊人伊色伊影伊综合网| 午夜亚洲福利老司机| 美女脱光内衣内裤视频久久网站| 精品一区二区三区在线播放| 韩国毛片一区二区三区| 国产激情一区二区三区桃花岛亚洲| 成人午夜电影久久影院| 99re在线精品| 亚洲午夜视频| 亚洲欧美网站| 欧美亚洲动漫精品| 欧美一二三区在线观看| 久久精品欧美日韩精品| 亚洲欧洲精品一区二区三区不卡| 亚洲黄色小说网站| 奇米亚洲午夜久久精品| 国产成人av电影在线播放|