亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

MySQL中日期函數有哪些

發布時間:2021-03-02 11:12:58 來源:億速云 閱讀:309 作者:小新 欄目:MySQL數據庫

小編給大家分享一下MySQL中日期函數有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

MySQL中日期函數有哪些

日期函數類型:

(1)獲取當前日期的函數和獲取當前時間的函數
(2)獲取當前日期和時間的函數
(3)UNIX時間戳函數
(4)返回UTC日期的函數和返回UTC時間的函數
(5)獲取月份的函數month(date)和monthname(date)
(6)獲取星期的函數dayname(d)、dayofweek(d)和weekday(d)
(7)獲取星期數的函數week(d)和dayofyear(d)
(8)獲取天數的函數dayofyear(d)和dayofmonth(d)
(9)獲取年份、季度、小時、分鐘和秒鐘的函數。
(10)獲取日期的指定值的函數extract(type from date)
(11)時間和秒鐘轉換的函數
(12)計算日期和時間的函數
(13)將日期和時間格式化的函數

(相關免費學習推薦:mysql視頻教程)

(1)獲取當前日期的函數和獲取當前時間的函數

1.curdate()和current_date()
【例】使用日期函數獲取系統當前日期,SQL語句如下:

mysql> select curdate(),current_date(),curdate()+0;+------------+----------------+-------------+| curdate()  | current_date() | curdate()+0 |+------------+----------------+-------------+| 2019-08-18 | 2019-08-18     |    20190818 |+------------+----------------+-------------+1 row in set (0.00 sec)
  • curdate()+0表示將當前日期值轉換為數值型。

2.curtime()和current_time()
【例】使用時間函數獲取系統當前時間,SQL語句如下:

mysql> select curtime(),current_time(),curtime()+0;+-----------+----------------+-------------+| curtime() | current_time() | curtime()+0 |+-----------+----------------+-------------+| 17:08:07  | 17:08:07       |      170807 |+-----------+----------------+-------------+1 row in set (0.00 sec)
  • curtime()+0表示將當前時間值轉換為數值型。


(2)獲取當前日期和時間的函數
  • current_timestamp()、localtime()、now()和sysdate()四個函數作用相同,都是返回當前日期和時間值。

【例】使用日期時間函數獲取當前系統時間和日期,SQL語句如下:

mysql> select current_timestamp(),
    -> localtime(),
    -> now(),
    -> sysdate();+---------------------+---------------------+---------------------+---------------------+| current_timestamp() | localtime()         | now()               | sysdate()           |+---------------------+---------------------+---------------------+---------------------+| 2019-08-18 19:10:05 | 2019-08-18 19:10:05 | 2019-08-18 19:10:05 | 2019-08-18 19:10:05 |+---------------------+---------------------+---------------------+---------------------+1 row in set (0.05 sec)

(3)UNIX時間戳函數
  • unix_timestamp(date)若為無參數調用,則返回一個unix時間戳(GMT之后的秒數,GMT為格林尼治標準時間1970.1.1)作為無符號整數。

  • date可以是一個date字符串,datetime字符串、timestamp或一個當地時間的YY[YY]MMDD格式的數字。

1.unix_timestamp(date)
【例】使用unix_timestamp函數返回unix格式的時間戳,SQL語句如下:

mysql> select unix_timestamp(),unix_timestamp(now()),now();+------------------+-----------------------+---------------------+| unix_timestamp() | unix_timestamp(now()) | now()               |+------------------+-----------------------+---------------------+|       1566127316 |            1566127316 | 2019-08-18 19:21:56 |+------------------+-----------------------+---------------------+1 row in set (0.05 sec)
  • from_unixtime()函數吧unix時間戳轉換為普通格式的時間,與unix_timestamp(date)函數互為反函數。

2.from_unixtime(date)
【例】使用from_unixtime函數將unix時間戳轉換為普通格式時間,SQL語句如下:

mysql> select from_unixtime('1566127316');+-----------------------------+| from_unixtime('1566127316') |+-----------------------------+| 2019-08-18 19:21:56.000000  |+-----------------------------+1 row in set (0.00 sec)

(4)返回UTC日期的函數和返回UTC時間的函數。

1.UTC_DATE()
【例】使用utc_date()函數返回當前UTC日期值,SQL語句如下:

mysql> select utc_date(),utc_date()+0;+------------+--------------+| utc_date() | utc_date()+0 |+------------+--------------+| 2019-08-18 |     20190818 |+------------+--------------+1 row in set (0.05 sec)

2.UTC_TIME()
【例】使用UTC_TIME()函數返回當前UTC時間值,SQL語句如下:

mysql> select utc_time(),utc_time()+0;+------------+--------------+| utc_time() | utc_time()+0 |+------------+--------------+| 11:32:27   |       113227 |+------------+--------------+1 row in set (0.00 sec)

(5)獲取月份的函數month(date)和monthname(date)

1.month(date)
【例】使用month()函數返回指定日期中的月份,SQL語句如下:

mysql> select month('2019-08-18');+---------------------+| month('2019-08-18') |+---------------------+|                   8 |+---------------------+1 row in set (0.00 sec)

2.monthname(date)
【例】使用monthname()函數返回指定日期中的月份名稱,SQL語句如下:

mysql> select monthname('2019-08-18');+-------------------------+| monthname('2019-08-18') |+-------------------------+| August                  |+-------------------------+1 row in set (0.00 sec)

(6)獲取星期的函數dayname(d)、dayofweek(d)和weekday(d)

1.dayname(d)
【例】使用dayname()函數返回指定日期的工作日名稱,SQL語句如下:

mysql> select dayname('2019-08-18');+-----------------------+| dayname('2019-08-18') |+-----------------------+| Sunday                |+-----------------------+1 row in set (0.00 sec)

2.dayofweek(d)
【例】使用dayofweek()函數返回日期對應的周索引,SQL語句如下:

mysql> select dayofweek('2019-08-18');+-------------------------+| dayofweek('2019-08-18') |+-------------------------+|                       1 |+-------------------------+1 row in set (0.00 sec)

3.weekday(d)

  • weekday(d)返回d對應的工作日索引:0代表周一,1代代表周二,…6代表周日。

【例】使用weekday()函數返回日期對應的工作日索引,SQL語句如下:

mysql> select weekday('2019-08-18 19:40:00'),
    -> weekday('2019-08-18');+--------------------------------+-----------------------+| weekday('2019-08-18 19:40:00') | weekday('2019-08-18') |+--------------------------------+-----------------------+|                              6 |                     6 |+--------------------------------+-----------------------+1 row in set (0.00 sec)

(7)獲取星期數的函數week(d)和dayofyear(d)
  • week(d)計算日期d是一年中第幾周,雙參形式允許指定該星期是否起始于周日或周一,若Mode參數被忽略,使用default_week_format系統自變量的值。

1.week(d)
【例】使用week()函數查詢指定日期是一年中的第幾周,SQL語句如下:

mysql> select week('2019-08-18'),week('2019-08-18',0),week('2019-08-18',1);+--------------------+----------------------+----------------------+| week('2019-08-18') | week('2019-08-18',0) | week('2019-08-18',1) |+--------------------+----------------------+----------------------+|                 33 |                   33 |                   33 |+--------------------+----------------------+----------------------+1 row in set (0.05 sec

2.weekofyear(d)
【例】使用weekofyear()查詢指定日期是一年中的第幾周,SQL語句如下:

mysql> select week('2019-08-18',3),weekofyear('2019-08-18');+----------------------+--------------------------+| week('2019-08-18',3) | weekofyear('2019-08-18') |+----------------------+--------------------------+|                   33 |                       33 |+----------------------+--------------------------+1 row in set (0.05 sec)

(8)獲取天數的函數dayofyear(d)和dayofmonth(d)

1.dayofyear()
【例】使用dayofyear()函數返回指定日期在一年中的位置,SQL語句如下:

mysql> select dayofyear('2019-08-18');+-------------------------+| dayofyear('2019-08-18') |+-------------------------+|                     230 |+-------------------------+1 row in set (0.00 sec)

2.dayofmonth()
【例】使用dayofmonth()函數返回指定日期在一個月中的位置,SQL語句如下;

mysql> select dayofmonth('2019-08-18');+--------------------------+| dayofmonth('2019-08-18') |+--------------------------+|                       18 |+--------------------------+1 row in set (0.00 sec)

(9)獲取年份、季度、小時、分鐘和秒鐘的函數。

1.YEAR(date)
【例】使用year()函數返回指定日期對應的年份,SQL語句如下:

mysql> select year('19-08-18'),year('98-02-19');+------------------+------------------+| year('19-08-18') | year('98-02-19') |+------------------+------------------+|             2019 |             1998 |+------------------+------------------+1 row in set (0.05 sec)

2.QUARTER(date)
【例】使用quarter()函數返回指定日期對應的季度,SQL語句如下:

mysql> select quarter('19-08-18');+---------------------+| quarter('19-08-18') |+---------------------+|                   3 |+---------------------+1 row in set (0.00 sec)

3.MINUTE(time)
【例】使用minute()函數返回指定時間的分鐘值,SQL語句如下:

mysql> select minute('19-08-18 20:07:00');+-----------------------------+| minute('19-08-18 20:07:00') |+-----------------------------+|                           7 |+-----------------------------+1 row in set (0.00 sec)

4.SECOND(time)
【例】使用second()函數返回指定時間的秒值,SQL語句如下:

mysql> select second('20:07:00');+--------------------+| second('20:07:00') |+--------------------+|                  0 |+--------------------+1 row in set (0.00 sec)

(10)獲取日期的指定值的函數extract(type from date)

【例】使用extract(type from date)函數提取日期或時間值。

mysql> select extract(year from '2019-08-18') as col1,
    -> extract(year_month from '2019-08-18 20:46:01') as col2,
    -> extract(day_minute from '2019-08-18 20:46:01') as col3;+------+--------+--------+| col1 | col2   | col3   |+------+--------+--------+| 2019 | 201908 | 182046 |+------+--------+--------+1 row in set (0.00 sec)

(11)時間和秒鐘轉換的函數

1.time_to_sec(time)

  • time_to_sec(time)返回已經轉化為秒的time參數。轉換公式為:小時x3600+分鐘*60+秒。

【例】使用time_to_sec函數將時間值轉換為秒值。

mysql> select time_to_sec('20:34:00');+-------------------------+| time_to_sec('20:34:00') |+-------------------------+|                   74040 |+-------------------------+1 row in set (0.00 sec)

2.sec_to_time(seconds)

  • sec_to_time函數返回值加上0值之后變成了小數值。

  • time_to_sec正好和sec_to_time互為反函數。

【例】使用sec_to_time()函數將秒值轉換為時間格式,SQL語句如下;

mysql> select sec_to_time(2345),sec_to_time(2345)+0,
    -> time_to_sec('20:36:00'),sec_to_time('74040');+-------------------+---------------------+-------------------------+----------------------+| sec_to_time(2345) | sec_to_time(2345)+0 | time_to_sec('20:36:00') | sec_to_time('74040') |+-------------------+---------------------+-------------------------+----------------------+| 00:39:05          |                3905 |                   74160 | 20:34:00.000000      |+-------------------+---------------------+-------------------------+----------------------+1 row in set (0.05 sec)

(12)計算日期和時間的函數。

MySQL中計算日期和時間的格式:
MySQL中日期函數有哪些
1.date_add(date,interval expr type)adddate(date,interval expr type)兩個函數的作用相同,執行日期的加運算:

【例】使用date_add()和adddate()函數執行日期加操作,SQL語句如下:

mysql> select date_add('2019-08-18 23:59:59',interval 1 second) as col1,
    -> adddate('2019-08-18 23:59:59',interval 1 second) as col2,
    -> date_add('2019-08-18 23:59:59',interval '1:1' minute_second) as col3;+---------------------+---------------------+---------------------+| col1                | col2                | col3                |+---------------------+---------------------+---------------------+| 2019-08-19 00:00:00 | 2019-08-19 00:00:00 | 2019-08-19 00:01:00 |+---------------------+---------------------+---------------------+1 row in set (0.05 sec)

2.date_sub(date,interval expr type)subdate(date,interval expr type)兩個函數作用相同,執行日期的減運算:

【例】使用date_sub和subdate函數執行日期減操作,SQL語句如下:

mysql> select date_sub('2019-08-18',interval 31 day) as col1,
    -> subdate('2019-08-18',interval 31 day) as col2,
    -> date_sub('2019-08-18 21:15:10',interval '0 0:1:1' day_second) as col3;+------------+------------+---------------------+| col1       | col2       | col3                |+------------+------------+---------------------+| 2019-07-18 | 2019-07-18 | 2019-08-18 21:14:09 |+------------+------------+---------------------+1 row in set (0.00 sec)

3.addtime(date,expr)函數將expr值添加到date,并返回修改后的值,date是一個日期或者日期時間表達式,而expr是一個時間表達式。
【例】使用addtime進行時間加操作,SQL語句如下;

mysql> select addtime('2019-08-18 21:59:59','1:1:1'),addtime('02:02:02','02:00:00');+----------------------------------------+--------------------------------+| addtime('2019-08-18 21:59:59','1:1:1') | addtime('02:02:02','02:00:00') |+----------------------------------------+--------------------------------+| 2019-08-18 23:01:00                    | 04:02:02                       |+----------------------------------------+--------------------------------+1 row in set (0.05 sec)

4.subtime(date,expr)函數將date減去expr值,并返回修改后的值,date是一個日期或者日期時間表達式,expr是一個時間表達式。
【例】使用subtime()函數執行減操作,SQL語句如下:

mysql> select subtime('2019-08-18 21:59:59','1:1:1'),subtime('02:02:02','02:00:00');+----------------------------------------+--------------------------------+| subtime('2019-08-18 21:59:59','1:1:1') | subtime('02:02:02','02:00:00') |+----------------------------------------+--------------------------------+| 2019-08-18 20:58:58                    | 00:02:02                       |+----------------------------------------+--------------------------------+1 row in set (0.00 sec)

5.datediff(date1,date2)返回起始時間date1和結束時間date2之間的天數,date1和date2為日期或date-and-time表達式。計算中只用到這些值的日期部分。
【例】使用datediff()函數計算兩個日期之間的間隔天數,SQL語句如下;

mysql> select datediff('2019-08-18 21:59:59','2018-07-18') as col1,
    -> datediff('2019-08-18 22:00:00','2019-08-20') as col2;+------+------+| col1 | col2 |+------+------+|  396 |   -2 |+------+------+1 row in set (0.00 sec)

(13)將日期和時間格式化的函數。

DATE_FORMAT時間日期格式:
MySQL中日期函數有哪些
1.date_format()
【例】使用date_format()函數格式化輸出日期和時間值,SQL語句如下:

mysql> select date_format('2019-08-18 23:33:00','%w %m %y') as col1,
    ->  date_format('2019-08-18 23:33:00','%D %y %a %d %m %b %j') as col2;+---------+---------------------------+| col1    | col2                      |+---------+---------------------------+| 0 08 19 | 18th 19 Sun 18 08 Aug 230 |+---------+---------------------------+1 row in set (0.05 sec)

2.time_format()
【例】使用time_format(time,format)函數格式化輸入時間值,SQL語句如下:

mysql> select time_format('23:39:30','%H %k %h %I %l');+------------------------------------------+| time_format('23:39:30','%H %k %h %I %l') |+------------------------------------------+| 23 23 11 11 11                           |+------------------------------------------+1 row in set (0.00 sec)

3.get_format()

get_format返回的格式字符串:
MySQL中日期函數有哪些
【例】使用get_format()函數顯示不同格式化類型下的格式字符串,SQL語句如下:

mysql> select get_format(date,'eur'),get_format(date,'usa');+------------------------+------------------------+| get_format(date,'eur') | get_format(date,'usa') |+------------------------+------------------------+| %d.%m.%Y               | %m.%d.%Y               |+------------------------+------------------------+1 row in set (0.05 sec)

【例】在date_format()函數中,使用get_format函數返回的顯示格式字符串來顯示指定的日期值,SQL語句如下:

mysql> select date_format('2019-08-19 23:41:30',get_format(date,'usa'));+-----------------------------------------------------------+| date_format('2019-08-19 23:41:30',get_format(date,'usa')) |+-----------------------------------------------------------+| 08.19.2019                                                |+-----------------------------------------------------------+1 row in set (0.00 sec)

看完了這篇文章,相信你對“MySQL中日期函數有哪些”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

三江| 江门市| 渑池县| 太仓市| 盈江县| 石城县| 子洲县| 蓬溪县| 富川| 新民市| 闵行区| 黄平县| 水富县| 金川县| 双柏县| 华蓥市| 平邑县| 家居| 曲麻莱县| 敦化市| 鲜城| 扎囊县| 堆龙德庆县| 开平市| 晋中市| 新蔡县| 若羌县| 大同市| 桐乡市| 固始县| 临澧县| 宜君县| 姜堰市| 砀山县| 永安市| 高碑店市| 古丈县| 永嘉县| 大安市| 尼玛县| 惠东县|