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 |
---|---|---|---|---|---|---|
hh:mm:ss[.nnnnnnn] |
00:00:00.0000000 bis 23:59:59.9999999 |
100 Nanosekunden |
3 bis 5 |
Ja |
Nein |
|
YYYY-MM-DD |
0001-01-01 bis 9999-12-31 |
1 Tag |
3 |
Nein |
Nein |
|
YYYY-MM-DD hh:mm:ss |
1900-01-01 bis 2079-06-06 |
1 Minute |
4 |
Nein |
Nein |
|
YYYY-MM-DD hh:mm:ss[.nnn] |
1753-01-01 bis 9999-12-31 |
0,00333 Sekunden |
8 |
Nein |
Nein |
|
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 |
|
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 |
Hinweis |
---|
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 () |
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 ( ) |
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 ( ) |
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 |
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 ( ) |
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 ( ) |
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 ( datepart ,date ) |
Gibt eine Zeichenfolge zurück, die den angegebenen datepart-Wert des angegebenen Datums darstellt. |
nvarchar |
Nicht deterministisch |
|
DATEPART ( datepart , date ) |
Gibt eine ganze Zahl zurück, die den angegebenen datepart-Wert des angegebenen date-Werts darstellt. |
int |
Nicht deterministisch |
|
DAY ( date ) |
Gibt eine ganze Zahl zurück, die die Tagesangabe des angegebenen date-Werts darstellt. |
int |
Deterministisch |
|
MONTH ( date ) |
Gibt eine ganze Zahl zurück, die die Monatsangabe eines angegebenen date-Werts darstellt. |
int |
Deterministisch |
|
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 ( 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 (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 (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 (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 |
Gibt den für die Sitzung aktuellen Wert von SET DATEFIRST zurück. |
tinyint |
Nicht deterministisch |
|
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 { 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 |
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 { [ 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 [ [ @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 ( 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 |
---|---|
Stellt Informationen und Beispiele bereit, die für alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen gelten. |
|
Stellt Informationen zur Konvertierung von Datums- und Uhrzeitwerten in und aus Zeichenfolgenliteralen und anderen Datums- und Uhrzeitformaten bereit. |
|
Stellt Richtlinien für die sprachübergreifende Portabilität von Datenbanken und Datenbankanwendungen bereit, die Transact-SQL-Anweisungen verwenden bzw. mehrere Sprachen unterstützen. |
|
Stellt Informationen zu ODBC-Skalarfunktionen bereit, die in Transact-SQL-Anweisungen verwendet werden können. Dies schließt ODBC-Datums- und Uhrzeitfunktionen ein. |
|
Stellt Informationen dazu bereit, wie sich Datums- und Uhrzeitdatentypen auf verteilte Abfragen zwischen Servern mit verschiedenen Versionen von SQL Server oder anderen Anbietern auswirken. |