MySQL DATEDIFF: calcular el número de días entre dos fechas

Con MySQL DATEDIFF puedes consultar el número de días que hay entre dos fechas. Los valores son positivos o negativos.

¿Qué es MySQL DATEDIFF?

Para poder trabajar de forma óptima con MySQL, merece la pena conocer algunas funciones de datos y tiempo. Uno de los comandos más útiles del sistema de gestión de bases de datos es, además de MySQL DATE, la función MySQL DATEDIFF. Muestra el número de días entre dos fechas. Para ello, las fechas deben estar almacenadas con el tipo de dato permitidos. La respuesta que se obtiene al respecto es un valor positivo o negativo, dependiendo de si el periodo se consulta cronológicamente o no.

La sintaxis de MySQL DATEDIFF

La sintaxis de MySQL DATEDIFF es muy sencilla. Si quieres aprender MySQL, te vendrá bien conocer el siguiente comando:

SELECT DATEDIFF ("Expresión1", " Expresión2")

"Expresión1" es la primera fecha y "Expresión2" la segunda.

Ejemplo de MySQL DATEDIFF

Con la ayuda de un sencillo ejemplo vas a poder ver enseguida cómo funciona MySQL DATEDIFF:

SELECT DATEDIFF ("2022-01-27", "2022-01-17");

Cuando se ejecuta este comando, se obtiene el siguiente resultado:

DATEDIFF ("2022-01-27", "2022-01-17")
10

MySQL DATEDIFF para indicar fechas más extensas en el tiempo

MySQL DATEDIFF también trabaja con valores de tiempo más extensos y solo filtra la información relevante. De esta forma, si se introducen dos fechas con hora, MySQL DATEDIFF solo tendrá en cuenta ambas fechas e ignorará las horas. Veamos un ejemplo al respecto:

SELECT DATEDIFF ("2022-01-27 14:22:43", "2022-01-17 20:19:35");

El resultado en este caso sería de nuevo “10”.

Ejemplo de valor negativo

Además, también puedes utilizar MySQL DATEDIFF consultando primero la fecha anterior y luego la posterior. En este caso, obtendrás un valor negativo. Veamos un ejemplo de este caso:

SELECT DATEDIFF ("2022-01-01", "2022-01-30");

El resultado de este ejemplo es el siguiente:

DATEDIFF ("2022-01-01", "2022-01-30")
-29