您的当前位置:首页正文

MYSQL中datediff、timestampdiff函数的使用(计算时间间隔)

2023-04-06 来源:星星旅游
MYSQL中datediff、timestampdiff函数的使⽤(计算时间间隔)

对mysql中⽇期范围搜索的⼤致有三种⽅式:1、between and 语句;2、datediff 函数;3、timestampdiff 函数;下⾯就具体说明下这三种⽅式:第⼀种: between and语句

select * from dat_document where commit_date between '2018-07-01' and '2018-07-04'

结果是1号到3号的数据,这是因为时间范围显⽰的实际上只是‘2018-07-01 00:00:00’到'2018-07-04 00:00:00'之间的数据,⽽'2018-07-04'的数据就⽆法显⽰出来,between and对边界还需要进⾏额外的处理.第⼆种: datediff函数

datediff函数返回两个⽇期之间的天数 语法:DATEDIFF(date1,date2)

SELECT DATEDIFF('2018-07-01','2018-07-04'); 运⾏结果:-3

所以,datediff函数对时间差值的计算⽅式为 date1- date2 的差值。第三种: timestampdiff函数

timestampdiff函数⽇期或⽇期时间表达式之间的整数差。

语法:TIMESTAMPDIFF(interval,datetime1,datetime2),⽐较的单位interval可以为以下数值 FRAC_SECOND。表⽰间隔是毫秒 SECOND。秒 MINUTE。分钟 HOUR。⼩时 DAY。天 WEEK。星期 MONTH。⽉

QUARTER。季度 YEAR。年

select TIMESTAMPDIFF(DAY,'2018-07-01 09:00:00','2018-07-04 12:00:00'); 运⾏结果:3

所以,timestampdiff函数对⽇期差值的计算⽅式为datetime2-datetime1的差值。 请注意:DATEDIFF,TIMESTAMPDIFF对⽇期差值的计算⽅式刚好是相反的。

另外,如果是在xml⽂件中对计算的值进⾏⽐较的话,有可能会⽤到<、>、<=、>=等,xml会报错,这⾥需要对这些符号进⾏替换。原符<号

<=>>=&'\"

替换

<<=>>=&'"符

符号

因篇幅问题不能全部显示,请点此查看更多更全内容