我有一个选择查询:
SELECT id FROM entries
WHERE email_address = ?
AND created_date >= DATE_SUB(NOW(), INTERVAL 1 DAY)
LIMIT 1
它有效。但我想将created_date >= ...
更改为最后一天而不是一天+时间。这可能吗?
所以现在用户不能在24小时内输入多次。我希望将其更改为一天,因此用户可以在晚上11:59进入一天,然后在第二天立即进入上午12:01。
如何更改我的选择以解决此问题?
答案 0 :(得分:3)
最简单的方法是将created_date从日期时间转换为日期。
DATE(created_date) >= DATE_SUB(CURDATE(), INTERVAL 1 DAY)
但请注意时区!这样做意味着不会使用created_date上的索引,所以请确保这不会对事情造成伤害。
答案 1 :(得分:1)
将NOW()
更改为CURDATE()
,这可以解决您的问题。