2011-11-28 95 views
1

所有我有一個選擇查詢,那就是:MySql的選擇今天

SELECT id FROM entries 
WHERE email_address = ? 
AND created_date >= DATE_SUB(NOW(), INTERVAL 1 DAY) 
LIMIT 1 

和它的作品。但我想將我的created_date >= ...更改爲最後一天而不是日期+時間。這可能嗎?

所以現在用戶不能在24小時內輸入一次以上。我想將它改爲一天,所以用戶可以在11:59 PM進入一天一次,然後在第二天的12:01上午進入。

如何更改我的選擇來解決這個問題?

回答

3

最簡單的方法是將created_date從日期時間轉換爲日期。

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

但注意時區!這樣做意味着created_date上的索引不會被使用,所以請確保它不會傷害任何東西。

1

更改NOW()CURDATE(),這應該可以解決您的問題。