对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)
运行结果:-3 所以,datediff函数对时间差值的计算方式为date1-date2的差值。 第三种: timestampdiff函数 timestampdiff函数日期或日期时间表达式之间的整数差。 语法:TIMESTAMPDIFF(interval,datetime1,datetime2),比较的单位interval可以为以下数值
select TIMESTAMPDIFF(DAY,'2018-07-01 09:00:00','2018-07-04 12:00:00'); 所以,timestampdiff函数对日期差值的计算方式为datetime2-datetime1的差值。 请注意:DATEDIFF,TIMESTAMPDIFF对日期差值的计算方式刚好是相反的。 另外,如果是在xml文件中对计算的值进行比较的话,有可能会用到<、>、<=、>=等,xml会报错,这里需要对这些符号进行替换。
|
|
来自: 昵称56150696 > 《待分类》