DATEDIFF (expresión de SSIS)
Devuelve el número de límites de fecha y hora entre dos fechas especificadas. El parámetro datepart identifica los límites de fecha y hora que se van a comparar.
Sintaxis
DATEDIFF(datepart, startdate, endate)
Argumentos
datepart
Parámetro que especifica la parte de la fecha que se va a comparar y para la que se devuelve un valor.startdate
Fecha de inicio del intervalo.endate
Fecha de finalización del intervalo.
Tipos de resultado
DT_I4
Comentarios
En la tabla siguiente se incluyen las partes de fecha y las abreviaturas reconocidas por el evaluador de expresiones.
Parte de la fecha |
Abreviaturas |
---|---|
Year |
yy, yyyy |
Quarter |
qq, q |
Month |
mm, m |
Dayofyear |
dy, y |
Day |
dd, d |
Week |
wk, ww |
Weekday |
dw, w |
Hour |
Hh |
Minute |
mi, n |
Second |
ss, s |
Millisecond |
Ms |
DATEDIFF devuelve un resultado NULL si alguno de los argumentos es NULL.
Un literal de tipo fecha debe convertirse explícitamente en uno de los tipos de datos de fecha. Para obtener más información, vea Tipos de datos de Integration Services.
Se produce un error si una fecha no es válida, si la fecha o unidad de tiempo no es una cadena, si la fecha de inicio no es una fecha o si la fecha de finalización no es una fecha.
Si la fecha de finalización es anterior a la fecha de inicio, la función devuelve un número negativo. Si las fechas de inicio y de finalización coinciden o están dentro del mismo intervalo, la función devuelve cero.
Ejemplos de expresiones de SSIS
Este ejemplo calcula el número de días entre dos literales de fecha. Si la fecha tiene el formato "mm/dd/aaaa", la función devuelve 7.
DATEDIFF("dd", (DT_DBTIMESTAMP)"8/1/2003", (DT_DBTIMESTAMP)"8/8/2003")
Este ejemplo devuelve el número de meses entre un literal de fecha y la fecha actual.
DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())
Este ejemplo devuelve el número de semanas entre la fecha de la columna ModifiedDate y la variable YearEndDate. Si YearEndDate tiene el tipo de datos date, no es necesario realizar una conversión explícita.
DATEDIFF("Week", ModifiedDate,@YearEndDate)