- 最近业务需要筛选表中已完成满7天的数据,sql
DATEDIFF(now(),o.finish_time) > 7
- 事后发现,不对劲,DATEDIFF() 计算时只要跨天了就计算为一天,即使不满一天的时长
- 故修改为
unix_timestamp(now()) -unix_timestamp(o.finish_time) >= 7*24*60*60
完工! - 事后,想既然有
DATEDIFF()
,有没有自带计算时间戳的函数了? - 还真有!
TIMESTAMPDIFF(DAY, o.finish_time,now()) >= 7
- 第一个参数可选值如:
SECOND:秒
MINUTE:分钟
HOUR:小时
DAY:天
WEEK:星期
MONTH:月
QUARTER:季度
YEAR:年
使用MySQL 自带函数计算时间间隔
最新推荐文章于 2024-07-23 13:22:23 发布