2011-06-08 24 views
28

así que ahora estoy almacenar una fecha de cada búsqueda hecha en mi sitio como esteMySql consulta para seleccionar registros con una fecha en particular

2011-06-07 21:44:01 

ahora me gustaría para ejecutar una consulta para seleccionar todo los valores en que la fecha es igual a lo que sea, pero sólo el año/mes y el día se tienen en cuenta, por lo que sería como

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

pero no debería tener en cuenta la hora exacta (hora segundos por hora) , hay alguna forma de hacer esto?

Respuesta

51

Puede usar la función DATE().

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

Sin embargo, para un mejor rendimiento que podría utilizar ...

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

Podría exponer un poco en el aumento de rendimiento? Gracias. –

+6

@CleverQuack El uso de 'DATE()' causa un fullscan. – alex

+0

Thx para la respuesta rápida. Aclamaciones. –

4

Esto debería funcionar:

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