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 |