Saltar al contenido

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

Resumen

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

Sintaxis

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

Parámetros

Parte de Fecha

Fecha Parte Alias Soporte para proveedores
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 citarse.

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 la fecha esperan una fecha y hora.

Fecha Final

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

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 manejar los límites de fechas de manera diferente. Por ejemplo, SQL Server calcula las semanas utilizando el domingo como inicio de semana. SQLite, por otro lado, usa el lunes.

Ejemplos

Tenga en cuenta que estos ejemplos asumen SQL Server.

Expresión Devoluciones
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