MySQLDATEDIFF函数获取两个⽇期的时间间隔的⽅法描述
返回两个⽇期之间的时间间隔。
语法
DateDiff(interval, date1, date2 [ ,firstdayofweek[ , firstweekofyear]] )
DateDiff 函数的语法有以下参数:
参数描述
interval必选。字符串表达式,表⽰⽤于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。date1, date2必选。⽇期表达式。⽤于计算的两个⽇期。
firstdayofweek可选。指定星期中第⼀天的常数。如果没有指定,则默认为星期⽇。有关数值,请参阅“设置”部分。firstweekofyear可选。指定⼀年中第⼀周的常数。如果没有指定,则默认为 1 ⽉ 1 ⽇所在的星期。有关数值,请参阅“设置”部分。
设置
interval 参数可以有以下值:
设置描述
yyyy年
q季度
m⽉
y⼀年的⽇数
d⽇
w⼀周的⽇数
ww周
h⼩时
m分钟
s秒
firstdayofweek 参数可以有以下值:
常数值描述
vbUseSystem0使⽤区域语⾔⽀持 (NLS) API 设置。
vbSunday1星期⽇(默认)
vbMonday2星期⼀
vbTuesday3星期⼆
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六
firstweekofyear 参数可以有以下值:
常数值描述
vbUseSystem0使⽤区域语⾔⽀持 (NLS) API 设置。
vbFirstJan11由 1 ⽉ 1 ⽇所在的星期开始(默认)。
vbFirstFourDays2由在新年中⾄少有四天的第⼀周开始。
vbFirstFullWeek3由在新的⼀年中第⼀个完整的周开始。
说明
DateDiff 函数⽤于判断在两个⽇期之间存在的指定时间间隔的数⽬。例如可以使⽤ DateDiff 计算两个⽇期相差的天数,或者当天到当年最后⼀天之间的星期数。
要计算 date1 和 date2 相差的天数,可以使⽤“⼀年的⽇数”(“y”)或“⽇”(“d”)。当 interval 为“⼀周的⽇数”(“w”)
时,DateDiff 返回两个⽇期之间的星期数。如果 date1 是星期⼀,则DateDiff 计算到 date2 之前星期
⼀的数⽬。此结果包含date2 ⽽不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回⽇历表中两个⽇期之间的星期数。函数计算 date1和 date2之间星期⽇的数⽬。如果 date2 是星期⽇,DateDiff 将计算 date2,但即使 date1 是星期⽇,也不会计算 date1。
如果 date1 晚于 date2,则 DateDiff 函数返回负数。
firstdayofweek 参数会对使⽤“w”和“ww”间隔符号的计算产⽣影响。
如果 date1 或 date2 是⽇期⽂字,则指定的年度会成为⽇期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插⼊当前年份。这样就可以编写适⽤于不同年份的程序代码。
在 interval 为“年”(“yyyy”)时,⽐较 12 ⽉ 31 ⽇和来年的 1 ⽉ 1 ⽇,虽然实际上只相差⼀天,DateDiff 返回 1 表⽰相差⼀个年份。
MySQL 中 DATEDIFF(date1,date2) 返回起始时间 date1 和结束时间 date2 之间的天数。date1 和 date2 为⽇期或 date-and-time 表达式。计算时只⽤到这些值的⽇期部分。
【实例】使⽤ DATEDIFF() 函数计算两个⽇期之间的间隔天数,输⼊的 SQL 语句和执⾏结果如下所⽰。
mysql> SELECT DATEDIFF('2017-11-30','2017-11-29') AS COL1,
-> DATEDIFF('2017-11-30','2017-12-15') AS col2;
+------+------+
| COL1 | col2 |datediff是字符型函数
+------+------+
| 1 | -15 |
+------+------+
1 row in set (0.00 sec)
由运⾏结果可知,DATEDIFF() 函数返回 date1-date2 后的值,因此 DATEDIFF('2017-11-30','2017-11-29') 的返回值为1,DATEDIFF('2017-11-30 23:59:59','2017-12-15') 的返回值为 -15。
到此这篇关于MySQL DATEDIFF函数获取两个⽇期的时间间隔的⽅法的⽂章就介绍到这了,更多相关MySQL DATEDIFF⽇期时间间隔内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多
⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论