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 |