Error muy comun con between en mysql
Septiembre 25th, 2009 by David Rodriguez
Cuando hacemos una comparación de fechas en Mysql, es muy facil cometer un error que puede no verse reflejado en las pruebas que se hagan.
SELECT * FROM tabla WHERE fecha BETWEEN ‘2009-09-01′ AND ‘2009-09-30′ ;
Esta consulta algunas veces dará resultados válidos y otros invalidos. El problema es que si el campo fecha es un campo TIMESTAMP, no hace la comprobación unicamente por la fecha como nosotros queremos.
Para asegurarnos que hace la comparación unicamente con la fecha debemos añadir el comando DATE.
La consulta correcta sería :
SELECT * FROM tabla WHERE DATE(fecha) BETWEEN ‘2009-09-01′ AND ‘2009-09-30′ ;
Posts relacionados
This entry was posted on Viernes, Septiembre 25th, 2009 at 10:03 am and is filed under Base de datos, Internet. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Diciembre 20th, 2009 at 3:56 am
Pues si, muy comun, gracias por la ayuda….
Junio 10th, 2010 at 4:15 pm
Pues muchas gracias, me fue de mucha utilidad