Saltar al contenido

Función de Base de Datos Mvsql: DateDiff()

Resumen

Calcula la diferencia entre dos expresiones de fecha o fecha y hora en función de una parte de fecha determinada.

Sintaxis

DATEDIFF(<datepart>, <startdate>, <enddate>)

Parámetros

Fecha Parte

Fecha Parte Alias Soporte del proveedor
year yy, yyyy Todos los proveedores de RDBMS.
quarter qq, q SQL Server y SQLite
month mm, m Todos los proveedores de RDBMS.
dayofyear dy, y SQL Server y SQLite
day dd, d Todos los proveedores de RDBMS.
week wk, ww SQL Server y SQLite
hour hh Todos los proveedores de RDBMS.
minute mi, n Todos los proveedores de RDBMS.
second ss, s Todos los proveedores de RDBMS.

La parte de la fecha no debe estar entre comillas.

La parte de la fecha no distingue entre mayúsculas y minúsculas.

Fecha de Inicio

Columna o expresión de tipo datetime o date. Algunas partes de fecha esperan una datetime.

Fecha de Finalización

Columna o expresión de tipo datetime o date. Algunas partes de fecha esperan una datetime.

Devoluciones

Devuelve un int que representa la diferencia entre la fecha de inicio y la fecha de finalización en la parte de fecha correspondiente.

Observaciones

Cada proveedor de bases de datos puede gestionar los límites de fechas de forma diferente. Por ejemplo, SQL Server calcula las semanas utilizando el domingo como inicio de la semana. SQLite, por otro lado, utiliza el lunes.

Ejemplos

Tenga en cuenta que estos ejemplos suponen SQL Server.

Expresión Devuelve
DATEDIFF(year, TIMESTAMP('2005-12-31 23:59:59.9999999'), TIMESTAMP('2006-01-01 00:00:00.0000000')) 1
DATEDIFF(month, TIMESTAMP('2005-12-31 23:59:59.9999999'), TIMESTAMP('2006-01-01 00:00:00.0000000')) 1