av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

Mysql中的日期時(shí)間函數(shù)小結(jié)

瀏覽:16日期:2023-02-18 16:43:19
目錄
  • 1 CURDATE()函數(shù)
  • 2 CURTIME()函數(shù)
  • 3 NOW()函數(shù)
  • 4 UNIX_TIMESTAMP(date)函數(shù)
  • 5 FROM_UNIXTIME(timestamp)函數(shù)
  • 6 UTC_DATE()函數(shù)
  • 7 UTC_TIME()函數(shù)
  • 8 YEAR(date)函數(shù)
  • 9 MONTH(date)函數(shù)
  • 10 MONTHNAME(date)函數(shù)
  • 11 DAY(date)函數(shù)
  • 12 DAYNAME(date)函數(shù)
  • 13 DAYOFWEEK(date)函數(shù)
  • 14 WEEKDAY(date)函數(shù)
  • 15 WEEK(date)函數(shù)
  • 16 WEEKOFYEAR(date)函數(shù)
  • 17 DAYOFYEAR(date)函數(shù)
  • 18 DAYOFMONTH(date)函數(shù)
  • 19 QUARTER(date)函數(shù)
  • 20 HOUR(time)函數(shù)
  • 21 MINUTE(time)函數(shù)
  • 22 SECOND(time)函數(shù)
  • 23 EXTRACT(type FROM date)函數(shù)
  • 24 TIME_TO_SEC(time)函數(shù)
  • 25 SEC_TO_TIME(seconds)函數(shù)
  • 26 DATE_ADD(date,INTERVAL expr type)函數(shù)
  • 27 DATE_SUB(date,INTERVAL expr type)函數(shù)
  • 28 ADDTIME(time1,time2)函數(shù)
  • 29 SUBTIME(time1,time2)函數(shù)
  • 30 DATEDIFF(date1,date2)函數(shù)
  • 31 FROM_DAYS(N)函數(shù)
  • 32 LAST_DAY(date)函數(shù)
  • 33 MAKEDATE(year,n)函數(shù)
  • 34 MAKETIME(hour,minute,second)函數(shù)
  • 35 PERIOD_ADD(time,n)函數(shù)
  • 36 TO_DAYS(date)函數(shù)
  • 37 DATE_FORMAT(date,format)函數(shù)
  • 38 TIME_FORMAT(time,format)函數(shù)
  • 39 GET_FORMAT(date_type,format_type)函數(shù)
  • 40 STR_TO_DATE(str,format)函數(shù)

MySQL中內(nèi)置了大量的日期和時(shí)間函數(shù),能夠靈活、方便地處理日期和時(shí)間數(shù)據(jù),本節(jié)就簡(jiǎn)單介紹一下MySQL中內(nèi)置的日期和時(shí)間函數(shù)。

1 CURDATE()函數(shù)

CURDATE()函數(shù)用于返回當(dāng)前日期,只包含年、月、日部分,格式為YYYY-MM-DD。使用示例如下:

mysql> SELECT CURDATE();+------------+| CURDATE()  |+------------+| 2019-12-11 |+------------+1 row in set (0.00 sec)

CURRENT_DATE()函數(shù)的作用與CURDATE()函數(shù)相同,不再贅述。

2 CURTIME()函數(shù)

CURTIME()函數(shù)用于返回當(dāng)前時(shí)間,只包含時(shí)、分、秒部分,格式為HH:MM:SS。使用示例如下:

mysql> SELECT CURTIME();+-----------+| CURTIME() |+-----------+| 11:27:44  |+-----------+1 row in set (0.00 sec)

CURRENT_TIME()函數(shù)的作用與CURTIME函數(shù)相同,不再贅述。

3 NOW()函數(shù)

NOW()函數(shù)用于返回當(dāng)前日期和時(shí)間,包含年、月、日、時(shí)、分、秒,格式為YYYY-MM-DD HH:MM:SS。使用示例如下:

mysql> SELECT NOW();+---------------------+| NOW()       |+---------------------+| 2019-12-15 11:29:22 |+---------------------+1 row in set (0.00 sec)

CURRENT_TIMESTAMP()函數(shù)、LOCALTIME()函數(shù)、LOCALTIMESTAMP()函數(shù)、SYSDATE()函數(shù)的作用與NOW()函數(shù)相同,不再贅述。

4 UNIX_TIMESTAMP(date)函數(shù)

將date轉(zhuǎn)化為UNIX時(shí)間戳。使用示例如下:

mysql> SELECT UNIX_TIMESTAMP(now());+-----------------------+| UNIX_TIMESTAMP(now()) |+-----------------------+|    1576380910 |+-----------------------+1 row in set (0.01 sec)mysql> SELECT UNIX_TIMESTAMP(CURDATE());+---------------------------+| UNIX_TIMESTAMP(CURDATE()) |+---------------------------+|1576339200 |+---------------------------+1 row in set (0.00 sec)mysql> SELECT UNIX_TIMESTAMP(CURTIME());+---------------------------+| UNIX_TIMESTAMP(CURTIME()) |+---------------------------+|1576380969 |+---------------------------+1 row in set (0.00 sec)

5 FROM_UNIXTIME(timestamp)函數(shù)

FROM_UNIXTIME(timestamp)函數(shù)將UNIX時(shí)間戳轉(zhuǎn)化為日期時(shí)間,格式為YYYY-MM-DD HH:MM:SS,與UNIX_TIMESTAMP(date)函數(shù)互為反函數(shù)。使用示例如下:

mysql> SELECT FROM_UNIXTIME(1576380910);+---------------------------+| FROM_UNIXTIME(1576380910) |+---------------------------+| 2019-12-15 11:35:10       |+---------------------------+1 row in set (0.00 sec)

6 UTC_DATE()函數(shù)

UTC_DATE()函數(shù)用于返回UTC日期。使用示例如下:

mysql> SELECT UTC_DATE();+------------+| UTC_DATE() |+------------+| 2019-12-15 |+------------+1 row in set (0.00 sec)

也可以返回YYYYMMDD格式的日期。使用示例如下:

mysql> SELECT UTC_DATE()+0;+--------------+| UTC_DATE()+0 |+--------------+|     20191215 |+--------------+1 row in set (0.00 sec)

7 UTC_TIME()函數(shù)

UTC_TIME()函數(shù)用于返回UTC時(shí)間。使用示例如下:

mysql> SELECT UTC_TIME();+------------+| UTC_TIME() |+------------+| 06:39:00   |+------------+1  row in set (0.00 sec)

8 YEAR(date)函數(shù)

YEAR(date)函數(shù)用于返回日期所在的年份,取值返回為1970~2069。使用示例如下:

mysql> SELECT YEAR(NOW());+-------------+| YEAR(NOW()) |+-------------+|2019 |+-------------+1 row in set (0.00 sec)

注意:00~69會(huì)被轉(zhuǎn)化為2000~2069,70~99會(huì)被轉(zhuǎn)化為1970~1999。

9 MONTH(date)函數(shù)

MONTH(date)函數(shù)用于返回日期對(duì)應(yīng)的月份,取值返回為1~12。使用示例如下:

mysql> SELECT MONTH(NOW());+--------------+| MONTH(NOW()) |+--------------+|   12 |+--------------+1 row in set (0.00 sec)

10 MONTHNAME(date)函數(shù)

MONTHNAME(date)函數(shù)用于返回日期所在月份的英文名稱。使用示例如下:

mysql> SELECT MONTHNAME(NOW());+------------------+| MONTHNAME(NOW()) |+------------------+| December |+------------------+1 row in set (0.00 sec)

11 DAY(date)函數(shù)

DAY(date)函數(shù)只返回日期。使用示例如下:

mysql> SELECT DAY(NOW());+------------+| DAY(NOW()) |+------------+| 15 |+------------+1 row in set (0.00 sec)

12 DAYNAME(date)函數(shù)

DAYNAME(date)函數(shù)用于返回日期對(duì)應(yīng)星期的英文名稱。使用示例如下:

mysql> SELECT DAYNAME(NOW());+----------------+| DAYNAME(NOW()) |+----------------+| Sunday |+----------------+1 row in set (0.00 sec)mysql> SELECT DAYNAME("2020-01-01");+-----------------------+| DAYNAME("2020-01-01") |+-----------------------+| Wednesday     |+-----------------------+1 row in set (0.00 sec)

13 DAYOFWEEK(date)函數(shù)

DAYOFWEEK(date)函數(shù)用于返回日期對(duì)應(yīng)的一周中的索引值。1表示星期日,2表示星期一,以此類推。使用示例如下:

mysql> SELECT DAYOFWEEK(NOW());+------------------+| DAYOFWEEK(NOW()) |+------------------+| 1 |+------------------+1 row in set (0.00 sec)mysql> SELECT DAYOFWEEK("2020-01-01");+-------------------------+| DAYOFWEEK("2020-01-01") |+-------------------------+|4 |+-------------------------+1 row in set (0.00 sec)

14 WEEKDAY(date)函數(shù)

WEEKDAY(date)函數(shù)返回日期對(duì)應(yīng)的一周中的索引值。0表示星期一,1表示星期二,以此類推。使用示例如下:

mysql> SELECT WEEKDAY(NOW());+----------------+| WEEKDAY(NOW()) |+----------------+|       6 |+----------------+1 row in set (0.00 sec)mysql> SELECT WEEKDAY("2020-01-01");+-----------------------+| WEEKDAY("2020-01-01") |+-----------------------+|      2 |+-----------------------+1 row in set (0.00 sec)

15 WEEK(date)函數(shù)

WEEK(date)函數(shù)返回給定日期是一年中的第幾周。使用示例如下:

mysql> SELECT WEEK(NOW());+-------------+| WEEK(NOW()) |+-------------+|   50 |+-------------+1 row in set (0.00 sec)

16 WEEKOFYEAR(date)函數(shù)

WEEKOFYEAR(date)函數(shù)返回日期位于一年中的第幾周。使用示例如下:

mysql> SELECT WEEKOFYEAR(NOW());+-------------------+| WEEKOFYEAR(NOW()) |+-------------------+| 50 |+-------------------+1 row in set (0.00 sec)

17 DAYOFYEAR(date)函數(shù)

DAYOFYEAR(date)函數(shù)返回日期是一年中的第幾天。使用示例如下:

mysql> SELECT DAYOFYEAR(NOW());+------------------+| DAYOFYEAR(NOW()) |+------------------+|       349 |+------------------+1 row in set (0.00 sec)

18 DAYOFMONTH(date)函數(shù)

DAYOFMONTH(date)函數(shù)返回日期位于所在月份的第幾天。使用示例如下:

mysql> SELECT DAYOFMONTH(NOW());+-------------------+| DAYOFMONTH(NOW()) |+-------------------+| 15 |+-------------------+1 row in set (0.00 sec)

19 QUARTER(date)函數(shù)

QUARTER(date)函數(shù)返回日期對(duì)應(yīng)的季度,范圍為1~4。使用示例如下:

mysql> SELECT QUARTER(NOW());+----------------+| QUARTER(NOW()) |+----------------+|       4 |+----------------+1 row in set (0.00 sec)

20 HOUR(time)函數(shù)

HOUR(time)函數(shù)返回指定時(shí)間的小時(shí)。使用示例如下:

mysql> SELECT HOUR(NOW());+-------------+| HOUR(NOW()) |+-------------+|   11 |+-------------+1 row in set (0.00 sec)

21 MINUTE(time)函數(shù)

MINUTE(time)函數(shù)返回指定時(shí)間的分鐘,取值范圍0~59。使用示例如下:

mysql> SELECT MINUTE(NOW());+---------------+| MINUTE(NOW()) |+---------------+|     45 |+---------------+1 row in set (0.00 sec)

22 SECOND(time)函數(shù)

SECOND(time)函數(shù)返回指定時(shí)間的秒數(shù),取值范圍0~59。使用示例如下:

mysql> SELECT SECOND(NOW());+---------------+| SECOND(NOW()) |+---------------+|     22 |+---------------+1 row in set (0.00 sec)

23 EXTRACT(type FROM date)函數(shù)

EXTRACT(type FROM date)函數(shù)返回指定日期中特定的部分,type指定返回的值。其中,type的取值如表11-1所示。

表11-1 EXTRACT(type FROM date)函數(shù)中type的取值與含義

注意:當(dāng)EXTRACT(type FROM date)函數(shù)中的type取值為MINUTE_SECOND時(shí),表示返回分鐘和秒值,當(dāng)date中的分鐘為12,秒為12時(shí),返回的結(jié)果為1212。也就是說,將分鐘后面直接拼接上秒值。type取值為其他帶有下劃線的值時(shí),也遵循同樣的規(guī)律。

使用示例如下:

mysql> SELECT EXTRACT(HOUR_MINUTE FROM NOW());+---------------------------------+| EXTRACT(HOUR_MINUTE FROM NOW()) |+---------------------------------+|     2142 |+---------------------------------+1 row in set (0.00 sec)

24 TIME_TO_SEC(time)函數(shù)

TIME_TO_SEC(time)函數(shù)將time轉(zhuǎn)化為秒并返回結(jié)果值。轉(zhuǎn)化的公式為:小時(shí)*3600+分鐘*60+秒。使用示例如下:

mysql> SELECT TIME_TO_SEC(NOW());+--------------------+| TIME_TO_SEC(NOW()) |+--------------------+|       78774 |+--------------------+1 row in set (0.00 sec)

25 SEC_TO_TIME(seconds)函數(shù)

SEC_TO_TIME(seconds)函數(shù)將seconds描述轉(zhuǎn)化為包含小時(shí)、分鐘和秒的時(shí)間。使用示例如下:

mysql> SELECT SEC_TO_TIME(78774);+--------------------+| SEC_TO_TIME(78774) |+--------------------+| 21:52:54    |+--------------------+1 row in set (0.12 sec)

26 DATE_ADD(date,INTERVAL expr type)函數(shù)

DATE_ADD(date,INTERVAL expr type)函數(shù)返回與date相差I(lǐng)NTERVAL時(shí)間間隔的日期,本質(zhì)上是日期的加操作。該函數(shù)中的type是間隔的類型,間隔類型如表11-2所示。

表11-2 DATE_ADD(date,INTERVAL expr type)函數(shù)中type的取值

使用示例如下:

mysql> SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);+---------------------------------+| DATE_ADD(NOW(), INTERVAL 1 DAY) |+---------------------------------+| 2019-12-16 22:04:36      |+---------------------------------+1 row in set (0.00 sec)

ADDDATE(date,INTERVAL expr type)函數(shù)與DATE_ADD(date,INTERVAL expr type)函數(shù)的作用相同,不再贅述。

27 DATE_SUB(date,INTERVAL expr type)函數(shù)

DATE_SUB(date,INTERVAL expr type)函數(shù)返回與date相差I(lǐng)NTERVAL時(shí)間間隔的日期,本質(zhì)上是日期的減操作,其中type的取值見表11-2。使用示例如下:

mysql> SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);+---------------------------------+| DATE_SUB(NOW(), INTERVAL 1 DAY) |+---------------------------------+| 2019-12-14 22:09:10      |+---------------------------------+1 row in set (0.00 sec)

SUBDATE(date,INTERVAL expr type)函數(shù)與DATE_SUB(date,INTERVAL expr type)函數(shù)作用相同,不再贅述。

注意:DATE_ADD、ADDDATE、DATE_SUB和SUBDATE這4個(gè)函數(shù)均可以指定負(fù)值。

28 ADDTIME(time1,time2)函數(shù)

ADDTIME(time1,time2)函數(shù)返回time1加上time2的時(shí)間。其中,time2是一個(gè)表達(dá)式,也可以是一個(gè)數(shù)字,當(dāng)time2為一個(gè)數(shù)字時(shí),代表的是秒。使用示例如下:

mysql> SELECT ADDTIME(NOW(), 50);+---------------------+| ADDTIME(NOW(), 50)  |+---------------------+| 2019-12-15 22:17:47 |+---------------------+1 row in set (0.00 sec)mysql> SELECT ADDTIME(NOW(), "1:1:1");+-------------------------+| ADDTIME(NOW(), "1:1:1") |+-------------------------+| 2019-12-15 23:18:46     |+-------------------------+1 row in set (0.00 sec)

ADDTIME(NOW(),'1:1:1')表示的含義為返回為當(dāng)前時(shí)間加上1小時(shí)1分1秒之后的時(shí)間。

ADDTIME(time1,time2)函數(shù)中的time2的值也可以為負(fù)值。

mysql> SELECT ADDTIME(NOW(), "-1:-1:-1");+----------------------------+| ADDTIME(NOW(), "-1:-1:-1") |+----------------------------+| 2019-12-15 22:19:29 |+----------------------------+1 row in set, 1 warning (0.01 sec)

ADDTIME(NOW(),'-1:-1:-1')表示的含義為返回當(dāng)前時(shí)間減去1小時(shí)1分1秒之后的時(shí)間。

29 SUBTIME(time1,time2)函數(shù)

SUBTIME(time1,time2)函數(shù)返回time1減去time2后的時(shí)間。其中,time2是一個(gè)表達(dá)式,也可以是一個(gè)數(shù)字,當(dāng)time2為一個(gè)數(shù)字時(shí),代表的是秒。使用示例如下:

mysql> SELECT SUBTIME(NOW(), 50);   +---------------------+| SUBTIME(NOW(), 50)  |+---------------------+| 2019-12-15 22:23:35 |+---------------------+1 row in set (0.00 sec)mysql> SELECT SUBTIME(NOW(), "1:1:1");+-------------------------+| SUBTIME(NOW(), "1:1:1") |+-------------------------+| 2019-12-15 21:23:50     |+-------------------------+1 row in set (0.00 sec)mysql> SELECT SUBTIME(NOW(), "-1:-1:-1"); +----------------------------+| SUBTIME(NOW(), "-1:-1:-1") |+----------------------------+| 2019-12-15 22:25:11|+----------------------------+1 row in set, 1 warning (0.00 sec)

30 DATEDIFF(date1,date2)函數(shù)

DATEDIFF(date1,date2)函數(shù)計(jì)算兩個(gè)日期之間相差的天數(shù)。使用示例如下:

mysql> SELECT DATEDIFF(NOW(), "1970-01-01");+-------------------------------+| DATEDIFF(NOW(), "1970-01-01") |+-------------------------------+|  18245 |+-------------------------------+1 row in set (0.00 sec)

31 FROM_DAYS(N)函數(shù)

FROM_DAYS(N)函數(shù)返回從0000年1月1日起,N天以后的日期。使用示例如下:

mysql> SELECT FROM_DAYS(366);+----------------+| FROM_DAYS(366) |+----------------+| 0001-01-01     |+----------------+1 row in set (0.00 sec)

32 LAST_DAY(date)函數(shù)

LAST_DAY(date)函數(shù)返回date所在月份的最后一天的日期。使用示例如下:

mysql> SELECT LAST_DAY(NOW());+-----------------+| LAST_DAY(NOW()) |+-----------------+| 2019-12-31      |+-----------------+1 row in set (0.00 sec)

33 MAKEDATE(year,n)函數(shù)

MAKEDATE(year,n)函數(shù)針對(duì)給定年份與所在年份中的天數(shù)返回一個(gè)日期。使用示例如下:

mysql> SELECT MAKEDATE(2020,1);+------------------+| MAKEDATE(2020,1) |+------------------+| 2020-01-01       |+------------------+1 row in set (0.00 sec)mysql> SELECT MAKEDATE(2020,32);+-------------------+| MAKEDATE(2020,32) |+-------------------+| 2020-02-01|+-------------------+1 row in set (0.00 sec)

34 MAKETIME(hour,minute,second)函數(shù)

將給定的小時(shí)、分鐘和秒組合成時(shí)間并返回。使用示例如下:

mysql> SELECT MAKETIME(1,1,1);+-----------------+| MAKETIME(1,1,1) |+-----------------+| 01:01:01|+-----------------+1 row in set (0.00 sec)

35 PERIOD_ADD(time,n)函數(shù)

PERIOD_ADD(time,n)函數(shù)返回time加上n后的時(shí)間。使用示例如下:

mysql> SELECT PERIOD_ADD(20200101010101,1);+------------------------------+| PERIOD_ADD(20200101010101,1) |+------------------------------+|       20200101010102 |+------------------------------+1 row in set (0.00 sec)

36 TO_DAYS(date)函數(shù)

TO_DAYS(date)函數(shù)返回日期date距離0000年1月1日的天數(shù)。使用示例如下:

mysql> SELECT TO_DAYS(NOW());+----------------+| TO_DAYS(NOW()) |+----------------+|  737773 |+----------------+1 row in set (0.00 sec)

37 DATE_FORMAT(date,format)函數(shù)

DATE_FORMAT(date,format)函數(shù)按照指定的格式format來格式化日期date。其中,format常用的格式符如表11-3所示。

表11-3 DATE_FORMAT(date,format)函數(shù)中format常用的格式符

使用示例如下:

mysql> SELECT DATE_FORMAT(NOW(), "%H:%i:%s");+--------------------------------+| DATE_FORMAT(NOW(), "%H:%i:%s") |+--------------------------------+| 22:57:34|+--------------------------------+1 row in set (0.00 sec)

38 TIME_FORMAT(time,format)函數(shù)

TIME_FORMAT(time,format)函數(shù)按照指定的格式format來格式化日期date。其中,format常用的格式符見表11-3。使用示例如下:

mysql> SELECT TIME_FORMAT(NOW(), "%H:%i:%s");    +--------------------------------+| TIME_FORMAT(NOW(), "%H:%i:%s") |+--------------------------------+| 22:59:40|+--------------------------------+1 row in set (0.00 sec)

39 GET_FORMAT(date_type,format_type)函數(shù)

GET_FORMAT(date_type,format_type)函數(shù)返回日期字符串的顯示格式,其中date_type表示日期類型,format_type表示格式化類型。日期類型與格式化類型的取值如表11-4所示。

表11-4 GET_FORMAT函數(shù)返回的格式化字符串

使用示例如下:

mysql> SELECT GET_FORMAT(DATE, "USA");+-------------------------+| GET_FORMAT(DATE, "USA") |+-------------------------+| %m.%d.%Y|+-------------------------+1 row in set (0.00 sec)

40 STR_TO_DATE(str,format)函數(shù)

STR_TO_DATE(str,format)函數(shù)將字符串str按照format格式轉(zhuǎn)化為日期或時(shí)間。其中,format的取值見表11-3。使用示例如下:

mysql> SELECT STR_TO_DATE("2020-01-01 00:00:00","%Y-%m-%d"); +-----------------------------------------------+| STR_TO_DATE("2020-01-01 00:00:00","%Y-%m-%d") |+-----------------------------------------------+| 2020-01-01     |+-----------------------------------------------+1 row in set, 1 warning (0.00 sec)

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

標(biāo)簽: MySQL
相關(guān)文章:
主站蜘蛛池模板: 国产精品福利视频 | 亚洲传媒在线 | 日韩一区二区三区在线 | 欧美一区二区大片 | 国产精品中文字幕在线 | 久久亚洲欧美日韩精品专区 | 日韩α片 | 我我色综合 | 亚洲精品视频免费看 | 午夜视频在线观看视频 | 亚洲免费视频在线观看 | 亚洲顶级毛片 | 一区二区福利视频 | 天天视频一区二区三区 | 成人在线视频免费观看 | 一区二区三区回区在观看免费视频 | 三级在线观看 | www.久久 | 免费99精品国产自在在线 | 中文字幕在线免费 | 操射视频| 在线不卡av | 久精品久久 | 国产综合久久 | 毛片免费观看 | 中文字幕 在线观看 | 日韩视频区 | 中文字幕高清 | 日本亚洲精品成人欧美一区 | 日韩欧美三级电影在线观看 | 国产午夜精品一区二区三区四区 | 久久久久久国产精品久久 | 国产伦精品一区二区三区精品视频 | 四虎影音| 午夜免费影视 | 高清成人av | 欧美中文字幕 | 成人国产精品久久 | 狠狠干综合视频 | 一区二区电影网 | 国产精品爱久久久久久久 |