ADD_DATE() 不适用于 mysql 中的 where 子句
Posted
技术标签:
【中文标题】ADD_DATE() 不适用于 mysql 中的 where 子句【英文标题】:ADD_DATE() not working with where clause in mysql 【发布时间】: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)
任何人,请让我知道我的解决方案哪里做错了。
【问题讨论】:
【参考方案1】:日期/时间值永远不会大于 相同的值加上四个小时。
如果你想要最后四个小时,我希望有一个像这样的where
子句:
where status = 1 and
creation_time >= now() - interval 4 hour
注意使用now()
进行比较。
【讨论】:
“不工作”是什么意思?这似乎完全符合您的要求。以上是关于ADD_DATE() 不适用于 mysql 中的 where 子句的主要内容,如果未能解决你的问题,请参考以下文章
为啥 mysql 中的这个查询适用于该表,但不适用于该表的视图?
MYSQL 查询不适用于 where 或 FIND_IN_SET 中的希腊词
MySQL 5.7 JSON_EXTRACT 不适用于对象中的带引号的字符串:[错误]“字符串中缺少右引号”