DATEDIFF (SSIS)
Gibt die Anzahl von Datums- und Zeiteinheiten zurück, die zwischen zwei angegebenen Daten überschritten wurden. Der datepart-Parameter identifiziert, welche Datums- und Zeiteinheiten verglichen werden sollen.
Syntax
DATEDIFF(datepart, startdate, endate)
Argumente
datepart
Der Parameter, der angibt, welche Datumseinheit verglichen und für welche Datumseinheit ein Wert zurückgegeben werden soll.
startdate
Das Startdatum des Intervalls.
endate
Das Enddatum des Intervalls.
Ergebnistypen
DT_I4
Hinweise
Die folgende Tabelle listet die Datumseinheiten und Abkürzungen auf, die von der Ausdrucksauswertung erkannt werden.
Datumseinheit | Abkürzungen |
---|---|
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 gibt ein NULL-Ergebnis zurück, wenn eines der Argumente NULL ist.
Ein Datumsliteral muss explizit in einen der date-Datentypen umgewandelt werden.
Ein Fehler wird gemeldet, wenn ein Datum ungültig ist, wenn die Datums- oder Zeiteinheit keine Zeichenfolge ist, wenn das Startdatum kein Datum ist oder wenn das Enddatum kein Datum ist.
Wenn das Enddatum vor dem Startdatum liegt, gibt die Funktion eine negative Zahl zurück. Wenn das Startdatum und das Enddatum identisch sind oder im gleichen Zeitraum liegen, gibt die Funktion Null zurück.
Beispiele
In diesem Beispiel wird die Anzahl von Tagen zwischen zwei Datumsliteralen berechnet. Falls das Datum das Format "mm/dd/yyyy" aufweist, wird 7 zurückgegeben.
DATEDIFF("dd", (DT_DBTIMESTAMP)"8/1/2003", (DT_DBTIMESTAMP)"8/8/2003")
In diesem Beispiel wird die Anzahl von Monaten zwischen einem Datumsliteral und dem aktuellen Datum zurückgegeben.
DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())
In diesem Beispiel wird die Anzahl von Wochen zwischen dem Datum in der ModifiedDate-Spalte und der YearEndDate-Variablen zurückgegeben. Falls YearEndDate einen date-Datentyp aufweist, ist keine explizite Umwandlung erforderlich.
DATEDIFF("Week", ModifiedDate,@YearEndDate)
Siehe auch
Verweis
DATEADD (SSIS)
DATEPART (SSIS)
DAY (SSIS)
MONTH (SSIS)
YEAR (SSIS)