# 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](https://www.ionos.es/digitalguide/servidores/know-how/que-es-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](https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/sistema-gestor-de-base-de-datos-sgbd/ "Sistema gestor de base de datos (SGBD)") es, además de [MySQL DATE](https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/mysql-date/ "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](https://www.ionos.es/digitalguide/servidores/know-how/guia-para-aprender-a-utilizar-mysql/ "Guía para aprender a utilizar MySQL"), te vendrá bien conocer el siguiente comando:

```bash
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:

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

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

```bash
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:

```bash
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:

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

El resultado de este ejemplo es el siguiente:

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


This is a markdown version of: [https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/mysql-datediff/](https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/mysql-datediff/) for AI/LLM consumption.