MySQL 比较指定精度的两个日期时间字段

问题描述 投票:0回答:2

MySQL 进行日期时间精度比较的方法是什么?就像我想比较两个日期时间字段,看看它们是否相等,忽略分钟和秒,说:

[compare with precision down to hours] 
Is 2011-05-05 14:32:49 equal to 2011-05-05 14:46:22 ?
=> TRUE

我不确定有什么,谷歌也没有帮助(精度只是带来了一堆关于毫秒和微秒垃圾的结果)。也许这种类型的比较是从另一个函数派生的,并且 MySQL 中没有带精度的日期比较?

谢谢!

mysql
2个回答
2
投票

你可以尝试:

DATE(dt1) = DATE(dt2) AND HOUR(dt1) = HOUR(dt2)

看看 MySql 日期时间函数


0
投票

我会使用 TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2):

这会返回正值和负值,因此,如果您想将两个相距小于 60 分钟的日期时间计算为 true,请将其与

ABS
函数结合使用,如下所示:

ABS(TIMESTAMPDIFF(MINUTE, dt_a, dt_b)) < 60
© www.soinside.com 2019 - 2024. All rights reserved.