Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Die Abschnitte in diesem Artikel enthalten sämtliche Datums- und Uhrzeitdatentypen und zugehörige Funktionen für Transact-SQL.
- Datums- und Uhrzeitdatentypen
- Datums- und Uhrzeitfunktionen
- Funktionen, die Systemdatums- und -uhrzeitwerte zurückgeben
- Funktionen, die Datums- und Uhrzeitkomponenten zurückgeben
- Funktionen, die Datums- und Uhrzeitwerte aus ihren Komponenten zurückgeben
- Funktionen, die Datums- und Uhrzeitunterschiede zurückgeben
- Funktionen, die Datums- und Uhrzeitwerte ändern
- Funktionen, die Sitzungsformatfunktionen festlegen oder zurückgeben
- Funktionen, die Datums- und Uhrzeitwerte überprüfen
- Artikel zum Thema Datum und Uhrzeit
Datums- und Uhrzeitdatentypen
In der folgenden Tabelle werden die Datums- und Uhrzeitdatentypen von Transact-SQL aufgelistet:
Datentyp | Format | Bereich | Genauigkeit | Speichergröße (Bytes) | 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 | JJJJ-MM-TT | 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 |
Hinweis
Der Transact-SQL-Rowversion-Datentyp 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 zu deterministischen Funktionen finden Sie unter Deterministische und nicht deterministische Funktionen.
Funktionen, die Systemdatums- und -uhrzeitwerte zurückgeben
Transact-SQL leitet alle Systemdatums- und Systemzeitwerte aus dem Betriebssystem des Computers ab, auf dem die SQL Server-Instanz ausgeführt wird.
Systemdatums- und -uhrzeitfunktionen mit höherer Genauigkeit
Seit SQL Server 2008 (10.0.x) ruft die Datenbank-Engine Datums- und Zeitwerte über die GetSystemTimeAsFileTime()-Windows-API ab. Die Genauigkeit hängt von der Computerhardware und der Windows-Version ab, unter der die SQL Server-Instanz ausgeführt wird. Die Genauigkeit dieser API ist auf 100 Nanosekunden festgelegt. Die Genauigkeit kann mithilfe der GetSystemTimeAdjustment()-Windows-API festgestellt werden.
Funktion | Syntax | Rückgabewert | Rückgabedatentyp | Determinismus |
---|---|---|---|---|
SYSDATETIME | SYSDATETIME ( ) | Gibt einen Wert vom Typ datetime2(7) zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die SQL Server-Instanz ausgeführt wird. Der zurückgegebene Wert umfasst nicht den Zeitzonenoffset. | datetime2(7) | Nicht deterministisch |
SYSDATETIMEOFFSET | SYSDATETIMEOFFSET ( ) | Gibt einen Wert vom Typ datetimeoffset(7) zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die SQL Server-Instanz ausgeführt wird. Der zurückgegebene Wert umfasst den Zeitzonenoffset. | datetimeoffset(7) | Nicht deterministisch |
SYSUTCDATETIME | SYSUTCDATETIME ( ) | Gibt einen Wert vom Typ datetime2(7) zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die SQL Server-Instanz ausgeführt wird. Die Funktion gibt das Datum und die Uhrzeit als koordinierte Weltzeit (UTC) zurück. | datetime2(7) | Nicht deterministisch |
Systemdatums- und -uhrzeitfunktionen mit geringerer Genauigkeit
Funktion | Syntax | Rückgabewert | Rückgabedatentyp | Determinismus |
---|---|---|---|---|
CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | Gibt einen Wert vom Typ datetime zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die SQL Server-Instanz ausgeführt wird. Der zurückgegebene Wert umfasst nicht den Zeitzonenoffset. | datetime | Nicht deterministisch |
GETDATE | GETDATE ( ) | Gibt einen Wert vom Typ datetime zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die SQL Server-Instanz ausgeführt wird. Der zurückgegebene Wert umfasst nicht den Zeitzonenoffset. | datetime | Nicht deterministisch |
GETUTCDATE | GETUTCDATE ( ) | Gibt einen Wert vom Typ datetime zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die SQL Server-Instanz ausgeführt wird. Die Funktion gibt das Datum und die Uhrzeit als koordinierte Weltzeit (UTC) zurück. | datetime | Nicht deterministisch |
CURRENT_DATE | CURRENT_DATE | Gibt einen Datumswert zurück, der nur das Datum des Computers enthält, auf dem die Instanz der Datenbank-Engine ausgeführt wird. Der zurückgegebene Wert enthält nicht die Uhrzeit und den Zeitzonenoffset. | date | Nicht deterministisch |
Funktionen, die Datums- und Uhrzeitkomponenten zurückgeben
Funktion | Syntax | Rückgabewert | Rückgabedatentyp | Determinismus |
---|---|---|---|---|
DATE_BUCKET | DATE_BUCKET (datepart, number, date, origin) | Gibt einen Wert zurück, der dem Anfang jedes datetime-Buckets entspricht, beginnend beim Zeitstempel, der durch den origin-Parameter oder den origin-Standardwert von 1900-01-01 00:00:00.000 definiert wird, wenn der origin-Parameter nicht angegeben ist. |
Der Rückgabetyp hängt von dem Argument ab, das für date angegeben wird. | Nicht deterministisch |
DATENAME | DATENAME (datepart, date) | Gibt eine Zeichenfolge zurück, die den angegebenen datepart-Wert des angegebenen „date“-Werts 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 |
DATETRUNC | DATETRUNC ( datepart, date ) | Gibt ein Eingabedatum (date) zurück, das an einem angegebenen Datumsteil (datepart) abgeschnitten ist. | Der Rückgabetyp hängt von dem Argument ab, das für date angegeben wird. | Nicht deterministisch |
DAY | DAY ( date ) | Gibt eine ganze Zahl zurück, die den Tagesteil des angegebenen date-Werts darstellt. | int | Deterministic |
MONTH | MONTH ( date ) | Gibt eine ganze Zahl zurück, die den Monatsteil des angegebenen date-Werts zurückgibt. | int | Deterministic |
YEAR | YEAR ( date ) | Gibt eine ganze Zahl zurück, die den Jahresteil des angegebenen date-Werts darstellt. | int | Deterministic |
Funktionen, die Datums- und Uhrzeitwerte aus ihren Komponenten zurückgeben
Funktion | Syntax | Rückgabewert | Rückgabedatentyp | Determinismus |
---|---|---|---|---|
DATEFROMPARTS | DATEFROMPARTS (year, month, day) | Gibt einen date-Wert für das angegebene Jahr, den Monat und den Tag zurück. | date | Deterministic |
DATETIME2FROMPARTS | DATETIME2FROMPARTS (year, month, day, hour, minute, seconds, fractions, precision) | Gibt einen datetime2-Wert für das angegebene Datum und die angegebene Uhrzeit mit der angegebenen Genauigkeit zurück. | datetime2 (Genauigkeit) | Deterministic |
DATETIMEFROMPARTS | DATETIMEFROMPARTS (year, month, day, hour, minute, seconds, milliseconds) | Gibt einen datetime-Wert für das angegebene Datum und die Uhrzeit zurück. | datetime | Deterministic |
DATETIMEOFFSETFROMPARTS | DATETIMEOFFSETFROMPARTS (year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) | Gibt einen datetimeoffset-Wert für das angegebene Datum und die angegebene Uhrzeit mit dem angegebenen Offset und der angegebenen Genauigkeit zurück. | datetimeoffset(Genauigkeit) | Deterministic |
SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute) | Gibt einen smalldatetime-Wert für das angegebene Datum und die Uhrzeit zurück. | smalldatetime | Deterministic |
TIMEFROMPARTS | TIMEFROMPARTS (hour, minute, seconds, fractions, precision) | Gibt einen time-Wert für die angegebene Uhrzeit mit der angegebenen Genauigkeit zurück. | time(Genauigkeit) | Deterministic |
Funktionen, die Datums- und Uhrzeitunterschiede zurückgeben
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 | Deterministic |
DATEDIFF_BIG | DATEDIFF_BIG (datepart, startdate, enddate) | Gibt die Anzahl der Datums- oder Zeitbegrenzungen von datepart zurück, die zwischen zwei angegebenen Daten überschritten wurden. | bigint | Deterministic |
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 | Deterministic |
EOMONTH | EOMONTH ( start_date [ , month_to_add ] ) | Gibt den letzten Tag des Monats zurück, der das angegebene Datum enthält, mit einem optionalen Offset. | Der Rückgabetyp ist der Typ des start_date-Arguments oder alternativ der date-Datentyp. | Deterministic |
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 | Deterministic |
TODATETIMEOFFSET | TODATETIMEOFFSET (expression, time_zone) | TODATETIMEOFFSET wandelt einen datetime2-Wert in einen datetimeoffset-Wert um. TODATETIMEOFFSET interpretiert den „datetime2“-Wert für die angegebene „time_zone“ in Ortszeit. | datetimeoffset mit der Genauigkeit von Bruchteilen des datetime-Arguments | Deterministic |
Funktionen, die Sitzungsformatfunktionen festlegen oder zurückgeben
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 zutreffend | Nicht zutreffend |
SET DATEFORMAT | DATUMSFORMAT { format | festlegen@format_var } | Legt die Reihenfolge der Datumsbestandteile (Tag, Monat, Jahr) für die Eingabe von datetime- oder smalldatetime-Daten fest. | Nicht zutreffend | Nicht zutreffend |
@@LANGUAGE | @@LANGUAGE | Gibt den Namen der derzeit verwendeten Sprache zurück. @@LANGUAGE ist keine Datums- oder Uhrzeitfunktion. Die Spracheinstellung kann sich jedoch auf die Ausgabe von Datumsfunktionen auswirken. | Nicht zutreffend | Nicht zutreffend |
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 zutreffend | Nicht zutreffend |
sp_helplanguage | sp_helplanguage [ [ @language = ] 'language' ] | Gibt Informationen den 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 zutreffend | 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. |
Artikel zum Thema Datum und Uhrzeit
Artikel | Beschreibung |
---|---|
FORMAT | Gibt einen mit dem angegebenen Format und der optionalen Kultur formatierten Wert zurück. Verwenden Sie die FORMAT-Funktion für die gebietsschemabasierte Formatierung von Datums-/Uhrzeitwerten sowie numerischen Werten als Zeichenfolgen. |
CAST und CONVERT | 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 | Stellt Informationen zu ODBC-Skalarfunktionen bereit, die in Transact-SQL-Anweisungen verwendet werden können. Enthält ODBC-Datums- und Uhrzeitfunktionen. |
AT TIME ZONE | Stellt den Zeitzonenwechsel zur Verfügung. |
Zugehöriger Inhalt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für