MySql选择今天的所有内容

时间:2011-11-28 11:20:45

标签: php mysql

我有一个选择查询:

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。

如何更改我的选择以解决此问题?

2 个答案:

答案 0 :(得分:3)

最简单的方法是将created_date从日期时间转换为日期。

DATE(created_date) >= DATE_SUB(CURDATE(), INTERVAL 1 DAY)

但请注意时区!这样做意味着不会使用created_date上的索引,所以请确保这不会对事情造成伤害。

答案 1 :(得分:1)

NOW()更改为CURDATE(),这可以解决您的问题。