MySQL – Comprobar si una fecha determinada es hoy
Mayo 28th, 2010 Posted in mysql
Hoy le he estado dando vueltas a una consulta de MySQL para sacar todos los registros que se han creado en el día. Se me ha ocurrido algo como:
SELECT * FROM tabla WHERE fecha = TODAY()
Pero no, esto no funciona. He buscado en la web y me he encontrado la solución. Una solución muy sencilla sin romperse la cabeza:
SELECT * FROM tabla WHERE DATE(fecha) = DATE(NOW())
La función DATE() nos devuelve la fecha eliminando la parte de la hora. La función NOW() nos da la fecha y hora de hoy. Con la función DATE() eliminamos la parte de la hora y ¡voilá! tenemos una sencilla forma de comprobar si las fechas son iguales.
Idea sacada de aquí.
Entradas relacionadas
- QT+MySQL (2ª parte): Comprobar si está disponible el driver MySQL para QT
- MySQL: actualizar un campo con la suma de unos registros de otra tabla
- Copias de seguridad MySQL automáticas con BASH y CRON
- Función en MySQL para contar días entre dos fechas sin contar sábados ni domingos
- Problemas al crear una función en MySQL: Error 1064



Junio 9th, 2010 at 11:49 pm
Has debido mezclar datetimes y dates, aunque me extraña que DATE(TODAY()) no funcione.
Junio 10th, 2010 at 8:40 pm
Hasta donde yo se la función today() no funcina. De todos modos, como se indica en el artículo, la segunda opción funciona perfectamente.