Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
SSIS Integration Runtime in Azure Data Factory
Gibt die Anzahl der Datums- und Zeitgrenzen zurück, die zwischen zwei angegebenen Datumsangaben überschritten werden. Der datepart -Parameter identifiziert, welche Datums- und Zeiteinheiten verglichen werden sollen.
Syntax
DATEDIFF(datepart, startdate, endate)
Argumente
datepart
Ist der Parameter, der angibt, welcher Teil des Datums verglichen wird und für den ein Wert zurückgegeben wird.
startdate
Ist das Startdatum des Intervalls.
endate
Das Enddatum des Intervalls.
Ergebnistypen
DT_I4
Hinweise
Die folgende Tabelle listet die Datumsbestandteile und Abkürzungen auf, die vom Ausdrucksauswerter erkannt werden.
| Datepart | Abkürzungen |
|---|---|
| Jahr | yy, yyyy |
| Quartal | qq, q |
| Monat | mm, m |
| Tag des Jahres | dy, y |
| Tag | dd, d |
| Woche | WK, WW |
| Wochentag | dw, w |
| Stunde | Hh |
| Minute | mi, n |
| Sekunde | ss, s |
| Millisekunde | Frau |
DATEDIFF gibt ein NULL-Ergebnis zurück, wenn eines der Argumente NULL ist.
Ein Datumsliteral muss explizit in einen der Datumsdatentypen konvertiert werden. Weitere Informationen finden Sie unter Integration Services Datentypen.
Ein Fehler tritt auf, wenn ein Datum ungültig ist, die Datums- oder Zeiteinheit keine Zeichenfolge ist, das Startdatum kein Datum ist oder 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 für SSIS-Ausdrücke
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)