Datums- und Uhrzeitfunktionen (Transact-SQL)

Die folgenden Abschnitte in diesem Thema enthalten eine Übersicht über alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen für Transact-SQL. Informationen und Beispiele, die für alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen gelten, finden Sie unter Verwenden von Datums- und Zeitdaten.

  • Datums- und Uhrzeitdatentypen

  • Datums- und Uhrzeitfunktionen

  • Funktion, die Systemdatums- und Systemzeitwerte abruft

  • Funktionen, die Datums- und Uhrzeitteile abrufen

  • Funktionen, die Datums- und Uhrzeitdifferenzen abrufen

  • Funktionen, die Datums- und Uhrzeitwerte ändern

  • Funktionen, die Sitzungsformatfunktionen festlegen oder abrufen

  • Funktionen, die Datums- und Uhrzeitwerte überprüfen

  • Datums- und uhrzeitbezogene Themen

Datums- und Uhrzeitdatentypen

In der folgenden Tabelle werden die Datums- und Uhrzeitdatentypen von Transact-SQL aufgelistet. 

Datentyp

Format

Bereich

Genauigkeit

Speichergröße (in Byte)

Benutzerdefinierte Genauigkeit in Sekundenbruchteilen

Zeitzonenoffset

time

hh:mm:ss[.nnnnnnn]

00:00:00.0000000 bis 23:59:59.9999999

100 Nanosekunden

3 bis 5

Ja

Nein

date

YYYY-MM-DD

0001-01-01 bis 9999-12-31

1 Tag

3

Nein

Nein

smalldatetime

YYYY-MM-DD hh:mm:ss

1900-01-01 bis 2079-06-06

1 Minute

4

Nein

Nein

datetime

YYYY-MM-DD hh:mm:ss[.nnn]

1753-01-01 bis 9999-12-31

0,00333 Sekunden

8

Nein

Nein

datetime2

YYYY-MM-DD hh:mm:ss[.nnnnnnn]

0001-01-01 00:00:00.0000000 bis 9999-12-31 23:59:59.9999999

100 Nanosekunden

6 bis 8

Ja

Nein

datetimeoffset

YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm

0001-01-01 00:00:00.0000000 bis 9999-12-31 23:59:59.9999999 (in UTC)

100 Nanosekunden

8 bis 10

Ja

Ja

HinweisHinweis

Der Transact-SQL-Datentyp rowversion ist kein Datums- oder Uhrzeitdatentyp. timestamp ist ein veraltetes Synonym für rowversion.

Datums- und Uhrzeitfunktionen

In den folgenden Tabellen werden die Datums- und Uhrzeitfunktionen von Transact-SQL aufgelistet. Weitere Informationen zum Determinismus finden Sie unter Deterministische und nicht deterministische Funktionen.

Funktionen, die Systemdatums- und Systemzeitwerte abrufen

Alle Systemdatums- und Systemzeitwerte werden aus dem Betriebssystem des Computers abgeleitet, auf dem die SQL Server-Instanz ausgeführt wird.

Systemdatums- und Systemuhrzeitfunktionen mit höherer Genauigkeit

SQL Server 2008 R2 ruft die Datums- und Zeitwerte mit der GetSystemTimeAsFileTime()-Windows-API ab. Die Genauigkeit hängt von der Computerhardware und von der Windows-Version ab, unter der die Instanz von SQL Server ausgeführt wird. Die Genauigkeit dieser API liegt bei 100 Nanosekunden. Die Genauigkeit kann mithilfe der GetSystemTimeAdjustment()-Windows-API festgestellt werden.

Funktion

Syntax

Rückgabewert

Rückgabedatentyp

Determinismus

SYSDATETIME

SYSDATETIME ()

Gibt einen datetime2(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird nicht einbezogen.

datetime2(7)

Nicht deterministisch

SYSDATETIMEOFFSET

SYSDATETIMEOFFSET ( )

Gibt einen datetimeoffset(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird einbezogen.

datetimeoffset(7)

Nicht deterministisch

SYSUTCDATETIME

SYSUTCDATETIME ( )

Gibt einen datetime2(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. Das Datum und die Uhrzeit werden als UTC-Zeit (Coordinated Universal Time) zurückgegeben.

datetime2(7)

Nicht deterministisch

Systemdatums- und Systemuhrzeitfunktionen mit geringerer Genauigkeit

Funktion

Syntax

Rückgabewert

Rückgabedatentyp

Determinismus

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP

Gibt einen datetime2(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird nicht einbezogen.

datetime

Nicht deterministisch

GETDATE

GETDATE ( )

Gibt einen datetime2(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird nicht einbezogen.

datetime

Nicht deterministisch

GETUTCDATE

GETUTCDATE ( )

Gibt einen datetime2(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. Das Datum und die Uhrzeit werden als UTC-Zeit (Coordinated Universal Time) zurückgegeben.

datetime

Nicht deterministisch

Funktionen, die Datums- und Uhrzeitteile abrufen

Funktion

Syntax

Rückgabewert

Rückgabedatentyp

Determinismus

DATENAME

DATENAME ( datepart ,date )

Gibt eine Zeichenfolge zurück, die den angegebenen datepart-Wert des angegebenen Datums darstellt.

nvarchar

Nicht deterministisch

DATEPART

DATEPART ( datepart , date )

Gibt eine ganze Zahl zurück, die den angegebenen datepart-Wert des angegebenen date-Werts darstellt.

int

Nicht deterministisch

DAY

DAY ( date )

Gibt eine ganze Zahl zurück, die die Tagesangabe des angegebenen date-Werts darstellt.

int

Deterministisch

MONTH

MONTH ( date )

Gibt eine ganze Zahl zurück, die die Monatsangabe eines angegebenen date-Werts darstellt.

int

Deterministisch

YEAR

YEAR ( date )

Gibt eine ganze Zahl zurück, die die Jahresangabe eines angegebenen date-Werts darstellt.

int

Deterministisch

Funktionen, die Datums- und Uhrzeitdifferenzen abrufen

Funktion

Syntax

Rückgabewert

Rückgabedatentyp

Determinismus

DATEDIFF

DATEDIFF ( datepart , startdate , enddate )

Gibt die Anzahl der Datums- oder Zeitbegrenzungen von datepart zurück, die zwischen zwei angegebenen Daten überschritten wurden.

int

Deterministisch

Funktionen, die Datums- und Uhrzeitwerte ändern

Funktion

Syntax

Rückgabewert

Rückgabedatentyp

Determinismus

DATEADD

DATEADD (datepart , number , date )

Gibt einen neuen datetime-Wert zurück. Dazu wird dem angegebenen datepart-Wert des angegebenen date-Werts ein Intervall hinzugefügt.

Der Datentyp des date-Arguments.

Deterministisch

SWITCHOFFSET

SWITCHOFFSET (DATETIMEOFFSET , time_zone)

SWITCHOFFSET ändert den Zeitzonenoffset eines DATETIMEOFFSET-Werts und behält den UTC-Wert bei.

datetimeoffset mit der Genauigkeit von Bruchteilen von DATETIMEOFFSET

Deterministisch

TODATETIMEOFFSET

TODATETIMEOFFSET (expression , time_zone)

TODATETIMEOFFSET wandelt einen datetime2-Wert in einen datetimeoffset-Wert um. Der datetime2-Wert wird in Ortszeit für die angegebene time_zone interpretiert.

datetimeoffset mit der Genauigkeit von Bruchteilen des datetime-Arguments

Deterministisch

Funktionen, die das Sitzungsformat festlegen oder abrufen

Funktion

Syntax

Rückgabewert

Rückgabedatentyp

Determinismus

@@DATEFIRST

@@DATEFIRST

Gibt den für die Sitzung aktuellen Wert von SET DATEFIRST zurück.

tinyint

Nicht deterministisch

SET DATEFIRST

SET DATEFIRST { number | @number_var }

Legt den ersten Wochentag auf eine Zahl von 1 bis 7 fest.

Nicht verfügbar

Nicht verfügbar

SET DATEFORMAT

SET DATEFORMAT { format | @format_var }

Legt die Reihenfolge der Datumsbestandteile (Tag, Monat, Jahr) für die Eingabe von datetime-Daten oder smalldatetime-Daten fest.

Nicht verfügbar

Nicht verfügbar

@@LANGUAGE

@@LANGUAGE

Gibt den Namen der zurzeit verwendeten Sprache zurück. @@ LANGUAGE ist keine Datums- oder Uhrzeitfunktion. Die Spracheinstellung kann sich jedoch auf die Ausgabe von Datumsfunktionen auswirken.

Nicht verfügbar

Nicht verfügbar

SET LANGUAGE

SET LANGUAGE { [ N ] 'language' | @language_var }

Legt die Sprachumgebung für die Sitzung und die Systemmeldungen fest. SET LANGUAGE ist keine Datums- oder Uhrzeitfunktion. Die Spracheinstellung wirkt sich jedoch auf die Ausgabe von Datumsfunktionen aus.

Nicht verfügbar

Nicht verfügbar

sp_helplanguage

sp_helplanguage [ [ @language = ] 'language' ]

Gibt Informationen zu Datumsformaten aller unterstützten Sprachen zurück. sp_helplanguage ist keine gespeicherte Datums- oder Uhrzeitprozedur. Die Spracheinstellung wirkt sich jedoch auf die Ausgabe von Datumsfunktionen aus.

Nicht verfügbar

Nicht verfügbar

Funktionen, die Datums- und Uhrzeitwerte überprüfen

Funktion

Syntax

Rückgabewert

Rückgabedatentyp

Determinismus

ISDATE

ISDATE ( expression )

Bestimmt, ob ein datetime- oder smalldatetime-Eingabeausdruck ein gültiger Datums- oder Uhrzeitwert ist.

int

ISDATE ist nur deterministisch bei Verwendung mit der CONVERT-Funktion, wenn der style-Parameter von CONVERT angegeben wird und style nicht den Wert 0, 100, 9 oder 109 aufweist.

Datums- und uhrzeitbezogene Themen

Thema

Beschreibung

Verwenden von Datums- und Zeitdaten

Stellt Informationen und Beispiele bereit, die für alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen gelten.

CAST und CONVERT (Transact-SQL)

Stellt Informationen zur Konvertierung von Datums- und Uhrzeitwerten in und aus Zeichenfolgenliteralen und anderen Datums- und Uhrzeitformaten bereit.

Schreiben internationaler Transact-SQL-Anweisungen

Stellt Richtlinien für die sprachübergreifende Portabilität von Datenbanken und Datenbankanwendungen bereit, die Transact-SQL-Anweisungen verwenden bzw. mehrere Sprachen unterstützen.

ODBC-Skalarfunktionen (Transact-SQL)

Stellt Informationen zu ODBC-Skalarfunktionen bereit, die in Transact-SQL-Anweisungen verwendet werden können. Dies schließt ODBC-Datums- und Uhrzeitfunktionen ein.

Datentypzuordnung mit verteilten Abfragen

Stellt Informationen dazu bereit, wie sich Datums- und Uhrzeitdatentypen auf verteilte Abfragen zwischen Servern mit verschiedenen Versionen von SQL Server oder anderen Anbietern auswirken.