mysql 对日期范围的搜索 between...and/datediff/timestampdiff
1.between...and [ )
between '2018-07-01' and '2018-07-04'
搜索的时间范围为‘2018-07-01 00:00:00’到'2018-07-04 00:00:00',无法显示'2018-07-04'的数据
2.datediff(date1,date2)返回两个日期之间的天数,结果为date1-date2的差值
select datediff('2018-07-01','2018-07-4'); #返回值-3
3.timestampdiff(interval,datetime1,datetime2),结果为datetime2-datetime1的差值
比较的单位interval可以为以下数值:
- FRAC_SECOND。表示间隔是毫秒
- SECOND。秒
- MINUTE。分钟
- HOUR。小时
- DAY。天
- WEEK。星期
- MONTH。月
- QUARTER。季度
- YEAR。年
select timestampdiff(day,'2018-07-01 9:00:00','2018-07-4 8:00:00'),timestampdiff(day,'2018-07-01 9:00:00','2018-07-4 12:00:00'); #输出 2,3
注意:DATEDIFF,TIMESTAMPDIFF对日期差值的计算方式刚好是相反的
来自:https://blog.csdn.net/weixin_38319645/article/details/81050962