所以現在我存儲在我的網站做過這樣的MySQL查詢來選擇記錄與特定日期
2011-06-07 21:44:01
每個搜索的日期,現在我想執行一個查詢選擇所有值,其中日期是等於一切,但只有年/月和日是考慮到,所以它會像
mysql_query("SELECT tag from tags WHERE date = '2011-06-07'");
但它不應該考慮到的確切時間(小時,分鐘秒) ,有沒有辦法做到這一點?
所以現在我存儲在我的網站做過這樣的MySQL查詢來選擇記錄與特定日期
2011-06-07 21:44:01
每個搜索的日期,現在我想執行一個查詢選擇所有值,其中日期是等於一切,但只有年/月和日是考慮到,所以它會像
mysql_query("SELECT tag from tags WHERE date = '2011-06-07'");
但它不應該考慮到的確切時間(小時,分鐘秒) ,有沒有辦法做到這一點?
您可以使用DATE()
函數。
SELECT `tag`
FROM `tags`
WHERE DATE(`date`) = '2011-06-07'
然而,爲了更好的性能,您可以使用...
WHERE `date`
BETWEEN '2011-06-07'
AND '2011-06-07 23:59:59'
這應該工作:
mysql_query("SELECT tag from tags WHERE date LIKE '2011-06-07%'");
mysql_query("SELECT tag from tags WHERE DATE(`date`) = '2011-06-07'");
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date
使用此方法會有性能影響;見亞歷克斯的答案。 – 2011-06-08 14:53:33
你能否闡述的一個位性能提升?謝謝。 – 2011-06-08 02:03:11
@CleverQuack使用'DATE()'會導致全掃描。 – alex 2011-06-08 02:05:42
Thx快速響應。乾杯。 – 2011-06-08 02:07:03