我想选择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)
,但也失败了。
答案 0 :(得分:1)
我想你错过了支架和
仅使用 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 )
答案 1 :(得分:0)
使用此:
SELECT DATE_ADD(Date(NOW()), INTERVAL 3 DAY)
or
SELECT DATE_ADD(Date(NOW()), INTERVAL -3 DAY)
然后减去你的数据库日期或任何....