佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > MySQL DATEDIFF函數(shù)獲取兩個(gè)日期的時(shí)間間隔的方法

MySQL DATEDIFF函數(shù)獲取兩個(gè)日期的時(shí)間間隔的方法

熱門標(biāo)簽:鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 AI電銷 服務(wù)外包 Linux服務(wù)器

描述

返回兩個(gè)日期之間的時(shí)間間隔。

語(yǔ)法

DateDiff(interval, date1, date2 [ ,firstdayofweek[ , firstweekofyear]] )

DateDiff 函數(shù)的語(yǔ)法有以下參數(shù):

參數(shù) 描述
interval 必選。字符串表達(dá)式,表示用于計(jì)算 date1 和 date2 之間的時(shí)間間隔。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。
date1, date2 必選。日期表達(dá)式。用于計(jì)算的兩個(gè)日期。
firstdayofweek 可選。指定星期中第一天的常數(shù)。如果沒(méi)有指定,則默認(rèn)為星期日。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。
firstweekofyear 可選。指定一年中第一周的常數(shù)。如果沒(méi)有指定,則默認(rèn)為 1 月 1 日所在的星期。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

設(shè)置

interval 參數(shù)可以有以下值:

設(shè)置 描述
yyyy
q 季度
m
y 一年的日數(shù)
d
w 一周的日數(shù)
ww
h 小時(shí)
m 分鐘
s

firstdayofweek 參數(shù)可以有以下值:

常數(shù)      值                            描述
vbUseSystem 0 使用區(qū)域語(yǔ)言支持 (NLS) API 設(shè)置。
vbSunday 1 星期日(默認(rèn))
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

firstweekofyear 參數(shù)可以有以下值:

常數(shù) 描述
vbUseSystem 0 使用區(qū)域語(yǔ)言支持 (NLS) API 設(shè)置。
vbFirstJan1 1 由 1 月 1 日所在的星期開(kāi)始(默認(rèn))。
vbFirstFourDays 2 由在新年中至少有四天的第一周開(kāi)始。
vbFirstFullWeek 3 由在新的一年中第一個(gè)完整的周開(kāi)始。

說(shuō)明

DateDiff 函數(shù)用于判斷在兩個(gè)日期之間存在的指定時(shí)間間隔的數(shù)目。例如可以使用  DateDiff 計(jì)算兩個(gè)日期相差的天數(shù),或者當(dāng)天到當(dāng)年最后一天之間的星期數(shù)。

要計(jì)算 date1 和 date2 相差的天數(shù),可以使用“一年的日數(shù)”(“y”)或“日”(“d”)。當(dāng) interval 為“一周的日數(shù)”(“w”)時(shí),DateDiff 返回兩個(gè)日期之間的星期數(shù)。如果 date1 是星期一,則DateDiff 計(jì)算到 date2 之前星期一的數(shù)目。此結(jié)果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),則 DateDiff 函數(shù)返回日歷表中兩個(gè)日期之間的星期數(shù)。函數(shù)計(jì)算 date1 和 date2之間星期日的數(shù)目。如果 date2 是星期日,DateDiff 將計(jì)算 date2,但即使 date1 是星期日,也不會(huì)計(jì)算 date1。

如果 date1 晚于 date2,則 DateDiff 函數(shù)返回負(fù)數(shù)。

firstdayofweek 參數(shù)會(huì)對(duì)使用“w”和“ww”間隔符號(hào)的計(jì)算產(chǎn)生影響。

如果 date1 或 date2 是日期文字,則指定的年度會(huì)成為日期的固定部分。但是如果 date1 或 date2 被包括在引號(hào) (" ") 中并且省略年份,則在代碼中每次計(jì)算 date1 或 date2 表達(dá)式時(shí),將插入當(dāng)前年份。這樣就可以編寫(xiě)適用于不同年份的程序代碼。

在 interval 為“年”(“yyyy”)時(shí),比較 12 月 31 日和來(lái)年的 1 月 1 日,雖然實(shí)際上只相差一天,DateDiff 返回 1 表示相差一個(gè)年份。

MySQL 中 DATEDIFF(date1,date2) 返回起始時(shí)間 date1 和結(jié)束時(shí)間 date2 之間的天數(shù)。date1 和 date2 為日期或 date-and-time 表達(dá)式。計(jì)算時(shí)只用到這些值的日期部分。

【實(shí)例】使用 DATEDIFF() 函數(shù)計(jì)算兩個(gè)日期之間的間隔天數(shù),輸入的 SQL 語(yǔ)句和執(zhí)行結(jié)果如下所示。

mysql> SELECT DATEDIFF('2017-11-30','2017-11-29') AS COL1,
  -> DATEDIFF('2017-11-30','2017-12-15') AS col2;
+------+------+
| COL1 | col2 |
+------+------+
|  1 | -15 |
+------+------+
1 row in set (0.00 sec)

由運(yùn)行結(jié)果可知,DATEDIFF() 函數(shù)返回 date1-date2 后的值,因此 DATEDIFF('2017-11-30','2017-11-29') 的返回值為 1,DATEDIFF('2017-11-30 23:59:59','2017-12-15') 的返回值為 -15。

到此這篇關(guān)于MySQL DATEDIFF函數(shù)獲取兩個(gè)日期的時(shí)間間隔的方法的文章就介紹到這了,更多相關(guān)MySQL DATEDIFF日期時(shí)間間隔內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL DATE_ADD和ADDDATE函數(shù)實(shí)現(xiàn)向日期添加指定時(shí)間間隔
  • 一篇文章搞定Mysql日期時(shí)間函數(shù)
  • MySQL日期函數(shù)與時(shí)間函數(shù)匯總(MySQL 5.X)
  • MySQL獲得當(dāng)前日期時(shí)間函數(shù)示例詳解
  • MySQL日期與時(shí)間函數(shù)的使用匯總
  • mysql 實(shí)現(xiàn)添加時(shí)間自動(dòng)添加更新時(shí)間自動(dòng)更新操作

標(biāo)簽:仙桃 崇左 銅川 湘潭 湖南 蘭州 黃山 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL DATEDIFF函數(shù)獲取兩個(gè)日期的時(shí)間間隔的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    南皮县| 彭山县| 昆明市| 项城市| 桓仁| 饶河县| 前郭尔| 大同县| 合水县| 和平县| 扎赉特旗| 桐庐县| 洪洞县| 奉化市| 滁州市| 关岭| 射阳县| 柞水县| 巴东县| 石狮市| 宝清县| 玛多县| 克东县| 贞丰县| 牙克石市| 威宁| 舒兰市| 炎陵县| 合川市| 东山县| 藁城市| 竹北市| 东乌| 潮州市| 清新县| 涞源县| 湾仔区| 临泉县| 岫岩| 黄石市| 孟村|