【问题标题】:ADD_DATE() not working with where clause in mysqlADD_DATE() 不适用于 mysql 中的 where 子句
【发布时间】:2021-08-16 15:00:25
【问题描述】:

我想从表中获取关于 creation_time 的最近 4 小时内处于状态 1 的所有记录(在我的情况下,creation_time 是我要应用 +4 小时检查的列)。为此,我使用以下查询尝试了 ADD_DATE(),但即使我有相同的可用记录,它也没有返回任何记录。

select id,name,status,creation_time, DATE_ADD(creation_time, INTERVAL 4 HOUR) as modified_time 
from booking
where status=1 and creation_time >= DATE_ADD(creation_time, INTERVAL 4 HOUR)

任何人,请让我知道我的解决方案哪里做错了。

【问题讨论】:

    标签: mysql sql date where-clause


    【解决方案1】:

    日期/时间值永远不会大于 相同的值加上四个小时。

    如果你想要最后四个小时,我希望有一个像这样的where 子句:

    where status = 1 and
          creation_time >= now() - interval 4 hour
    

    注意使用now() 进行比较。

    【讨论】:

    • “不工作”是什么意思?这似乎完全符合您的要求。
    猜你喜欢
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多