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可以为以下数值:

  1. FRAC_SECOND。表示间隔是毫秒
  2. SECOND。秒
  3. MINUTE。分钟
  4. HOUR。小时
  5. DAY。天
  6. WEEK。星期
  7. MONTH。月
  8. QUARTER。季度
  9. 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

posted @ 2021-10-21 14:44  声声慢43  阅读(466)  评论(0编辑  收藏  举报