日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql 日期和时间函数_介绍一下mysql的日期和时间函数

發(fā)布時(shí)間:2024/9/27 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 日期和时间函数_介绍一下mysql的日期和时间函数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

介紹一下mysql的日期和時(shí)間函數(shù)

mysql> SELECT PERIOD_DIFF(9802,199703);

-> 11

DATE_ADD(date,INTERVAL expr type)

DATE_SUB(date,INTERVAL expr type)

ADDDATE(date,INTERVAL expr type)

SUBDATE(date,INTERVAL expr type)

這些函數(shù)執(zhí)行日期的算術(shù)運(yùn)算。ADDDATE() 和 SUBDATE() 分別是 DATE_ADD() 和 DATE_SUB() 的同義詞。 在 MySQL 3.23 中,如果表達(dá)式的右邊是一個(gè)日期值或一個(gè)日期時(shí)間型字段,你可以使用 + 和 – 代替 DATE_ADD() 和 DATE_SUB()(示例如下)。 參數(shù) date 是一個(gè) DATETIME 或 DATE 值,指定一個(gè)日期的開(kāi)始。expr 是一個(gè)表達(dá)式,指定從開(kāi)始日期上增加還是減去間隔值。expr 是一個(gè)字符串;它可以以一個(gè) “-” 領(lǐng)頭表示一個(gè)負(fù)的間隔值。type 是一個(gè)關(guān)鍵詞,它標(biāo)志著表達(dá)式以何格式被解釋。 下表顯示 type 和 expr 參數(shù)是如何關(guān)聯(lián)的: type 值 expr 期望的格式

SECOND SECONDS

MINUTE MINUTES

HOUR HOURS

DAY DAYS

MONTH MONTHS

YEAR YEARS

MINUTE_SECOND “MINUTES:SECONDS”

HOUR_MINUTE “HOURS:MINUTES”

DAY_HOUR “DAYS HOURS”

YEAR_MONTH “YEARS-MONTHS”

HOUR_SECOND “HOURS:MINUTES:SECONDS”

DAY_MINUTE “DAYS HOURS:MINUTES”

DAY_SECOND “DAYS HOURS:MINUTES:SECONDS”

在 expr 的格式中,MySQL 允許任何字符作為定界符。表中所顯示的是建議的定界字符。如果 date 參數(shù)是一個(gè) DATE 值,并且計(jì)算的間隔僅僅有 YEAR、MONTH 和 DAY 部分(沒(méi)有時(shí)間部分),那么返回值也是一個(gè) DATE 值。否則返回值是一個(gè) DATETIME 值:

mysql> SELECT “1997-12-31 23:59:59″ + INTERVAL 1 SECOND;

-> 1998-01-01 00:00:00

mysql> SELECT INTERVAL 1 DAY + “1997-12-31″;

-> 1998-01-01

mysql> SELECT “1998-01-01″ – INTERVAL 1 SECOND;

-> 1997-12-31 23:59:59

mysql> SELECT DATE_ADD(“1997-12-31 23:59:59″,

-> INTERVAL 1 SECOND);

-> 1998-01-01 00:00:00

mysql> SELECT DATE_ADD(“1997-12-31 23:59:59″,

-> INTERVAL 1 DAY);

-> 1998-01-01 23:59:59

mysql> SELECT DATE_ADD(“1997-12-31 23:59:59″,

-> INTERVAL “1:1″ MINUTE_SECOND);

-> 1998-01-01 00:01:00

mysql> SELECT DATE_SUB(“1998-01-01 00:00:00″,

-> INTERVAL “1 1:1:1″ DAY_SECOND);

-> 1997-12-30 22:58:59

mysql> SELECT DATE_ADD(“1998-01-01 00:00:00″,

-> INTERVAL “-1 10″ DAY_HOUR);

-> 1997-12-30 14:00:00

mysql> SELECT DATE_SUB(“1998-01-02″, INTERVAL 31 DAY);

-> 1997-12-02

如果你指定了一個(gè)太短的間隔值(沒(méi)有包括 type 關(guān)鍵詞所期望的所有間隔部分),MySQL 假設(shè)你遺漏了間隔值的最左邊部分。例如,如果指定一個(gè) type 為 DAY_SECOND,那么 expr 值被期望包含天、小時(shí)、分鐘和秒部分。如果你象 “1:10″ 樣指定一個(gè)值,MySQL 假設(shè)天和小時(shí)部分被遺漏了,指定的值代表分鐘和秒。換句話說(shuō),”1:10″ DAY_SECOND 被解釋為等價(jià)于 “1:10″ MINUTE_SECOND。這類似于 MySQL 解釋 TIME 值為經(jīng)過(guò)的時(shí)間而不是一天的時(shí)刻。注意,如果依著包含一個(gè)時(shí)間部分的間隔增加或減少一個(gè)日期值,該日期值將被自動(dòng)地轉(zhuǎn)換到一個(gè)日期時(shí)間值:

mysql> SELECT DATE_ADD(“1999-01-01″, INTERVAL 1 DAY);

-> 1999-01-02

mysql> SELECT DATE_ADD(“1999-01-01″, INTERVAL 1 HOUR);

-> 1999-01-01 01:00:00

如果你使用了確定不正確的日期,返回結(jié)果將是 NULL。如果你增加 MONTH、YEAR_MONTH 或 YEAR,并且結(jié)果日期的天比新月份的最大天數(shù)還大,那么它將被調(diào)整到新月份的最大天數(shù):

mysql> SELECT DATE_ADD(’1998-01-30′, INTERVAL 1 MONTH);

-> 1998-02-28

注意,上面的例子中,單詞 INTERVAL 和關(guān)鍵詞 type 是不區(qū)分字母大小寫的。

EXTRACT(type FROM date)

EXTRACT() 函數(shù)使用與 DATE_ADD() 或 DATE_SUB() 一致的間隔類型,但是它用于指定從日期中提取的部分,而不是進(jìn)行日期算術(shù)運(yùn)算。

mysql> SELECT EXTRACT(YEAR FROM “1999-07-02″);

-> 1999

mysql> SELECT EXTRACT(YEAR_MONTH FROM “1999-07-02 01:02:03″);

-> 199907

mysql> SELECT EXTRACT(DAY_MINUTE FROM “1999-07-02 01:02:03″);

-> 20102

TO_DAYS(date)

給出一個(gè)日期 date,返回一個(gè)天數(shù)(從 0 年開(kāi)始的天數(shù)):

mysql> SELECT TO_DAYS(950501);

-> 728779

mysql> SELECT TO_DAYS(’1997-10-07′);

-> 729669

TO_DAYS() 無(wú)意于使用先于格里高里歷法(即現(xiàn)行的陽(yáng)歷)(1582)出現(xiàn)的值,因?yàn)樗豢紤]當(dāng)歷法改變時(shí)所遺失的天數(shù)。

FROM_DAYS(N)

給出一個(gè)天數(shù) N,返回一個(gè) DATE 值:

總結(jié)

以上是生活随笔為你收集整理的mysql 日期和时间函数_介绍一下mysql的日期和时间函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。