我正在尝试编写一个查询,我可以消除不到2分钟的timediff。我尝试了下面的变体,没有返回结果
timediff(sessions.producer_on,sessions.producer_off)>'00:02:00'
没有>的timediff工作正常并返回所有结果 - 我在> 00:02:00条件下遇到困难。任何人都可以帮忙 - 非常感谢
答案 0 :(得分:9)
您需要从时间中提取分钟,然后进行比较。
minute(timediff(sessions.producer_on,sessions.producer_off)) > 2 AND
hour(timediff(sessions.producer_on,sessions.producer_off)) = 0
此外,可能需要确保小时为0,因为只有当小时为零时,分钟才真正重要。
答案 1 :(得分:9)
这可能是“旧方法”,但它无需检查小时,天等等。
UNIX_TIMESTAMP(fieldOne) - UNIX_TIMESTAMP(fieldTwo) < 120
您也可以使用NOW()
代替字段名称。
答案 2 :(得分:6)
将其更改为
timediff(sessions.producer_on,sessions.producer_off) > TIME('00:02:00')
它应该有用。
答案 3 :(得分:0)
SELECT * FROM e_email_otp WHERE TIMEDIFF('2019-01-11 10-46-19',`2019-01-11 10-45-19`) <'00:02:00.000000'