我想选择someDateTime字段为NULL或早于3天的用户。

SELECT `id`
FROM `users`
WHERE `someDateTime` IS NULL
OR `someDateTime` < NOW() - INTERVAL 3 DAYS
LIMIT 1


我收到此查询的语法错误。
我也尝试过DATE_SUB(NOW(), INTERVAL 3 DAYS),但这也失败了。

最佳答案

我想你错过了支架,

仅使用DAY代替DAYS。

更多使用CURDATE()代替NOW()。并使用=获取今天日期的数据。

CURDATE()返回当前时间的DATE部分。 Manual on CURDATE()

NOW()以各种格式返回日期和时间部分作为时间戳,具体取决于如何请求。 Manual on NOW()

SELECT `id`
FROM `users`
WHERE `someDateTime` IS NULL
OR `someDateTime` <=
( CURDATE() - INTERVAL 3 DAY )

关于mysql - 查询错误:WHERE`someDateTime`为NULL或`someDateTime` <NOW()-间隔3天,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41930373/

10-11 02:57