Mysql BETWEEN con fechas

Antonio J. Galisteo

Los diferentes formatos de fechas pueden causarnos algún inconveniente a la hora de hacer consultas. Si tenemos un formato de fecha tipo DATETIME (YYYY-MM-DD HH:MM:SS) y hacemos una consulta del tipo:

SELECT fecha from mi_tabla WHERE fecha between 'yyyy-mm-ss' AND 'yyyy-mm-ss'

Es muy probable, que el valor de inicio y fin del rango no se incluya en el resultado de la búsqueda.

Para incluir la fecha de inicio y fin en el resultado de la consulta con between debemos hacerlo de la siguiente forma:

SELECT fecha from mi_tabla WHERE CAST(fecha AS DATE) between 'yyyy-mm-ss' AND 'yyyy-mm-ss'

Es decir, hacemos un casting del atributo fecha de DATETIME a DATE que es en realidad lo que estamos indicando en los rangos de between.

Otra solución, pasa por agregar la hora a los parámetros de between tipo:

SELECT ... between 'yyyy-mm-ss hh:mm:ss' AND 'yyyy-mm-ss hh:mm:ss'

Para comparar DATETIME con DATETIME, valga la redundancia. Comparamos peras con peras y manzanas con manazas.

Con esto, ya podemos incluir el valor de inicio y fin en el resultado de la consulta.

Puedes leer más información relacionada con MySQL. También puedes consultar la documentación oficial de MySQL.

Espero que os haya sido de utilidad!

Publicado el 07-06-2017

Donar

Si te ha sido de ayuda y quieres hacer una donación te lo agradeceremos :)

Compartelo!


Deja un comentario

Comentanos

*

Ir arriba de la pagina