2011-06-08 127 views
28

所以現在我存儲在我的網站做過這樣的MySQL查詢來選擇記錄與特定日期

2011-06-07 21:44:01 

每個搜索的日期,現在我想執行一個查詢選擇所有值,其中日期是等於一切,但只有年/月和日是考慮到,所以它會像

mysql_query("SELECT tag from tags WHERE date = '2011-06-07'"); 

但它不應該考慮到的確切時間(小時,分鐘秒) ,有沒有辦法做到這一點?

回答

51

您可以使用DATE()函數。

SELECT `tag` 
    FROM `tags` 
WHERE DATE(`date`) = '2011-06-07' 

然而,爲了更好的性能,您可以使用...

WHERE `date` 
BETWEEN '2011-06-07' 
    AND '2011-06-07 23:59:59' 
+1

你能否闡述的一個位性能提升?謝謝。 – 2011-06-08 02:03:11

+6

@CleverQuack使用'DATE()'會導致全掃描。 – alex 2011-06-08 02:05:42

+0

Thx快速響應。乾杯。 – 2011-06-08 02:07:03

4

這應該工作:

mysql_query("SELECT tag from tags WHERE date LIKE '2011-06-07%'");