mysqldiff函数_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会报错,这⾥需要对这些符号进⾏替换。
原符号
<
diff函数<=
>
>=
&
'
"
替换符号<
<=
>
>=
&
'
"

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。