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
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. |