Freigeben über


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)

Andere Ressourcen

Funktionen (SSIS)

Hilfe und Informationen

Informationsquellen für SQL Server 2005