Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL)

 

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Die folgenden Abschnitte in diesem Thema enthalten eine Übersicht über alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen für Transact-SQL.

Die Transact-SQL Datums-und Zeitdatentypen sind in der folgenden Tabelle aufgeführt.

DatentypFormatBereichGenauigkeitSpeichergröße (Bytes)Benutzerdefinierte Genauigkeit in SekundenbruchteilenZeitzonenoffset
Zeithh:mm:ss[.nnnnnnn]00:00:00.0000000 bis 23:59:59.9999999100 Nanosekunden3 bis 5jaNein
DatumYYYY-MM-DD0001-01-01 bis 9999-12-311 Tag3NeinNein
smalldatetimeYYYY-MM-DD hh:mm:ss1900-01-01 bis 2079-06-061 Minute4NeinNein
"DateTime"YYYY-MM-DD hh:mm:ss[.nnn]1753-01-01 bis 9999-12-310,00333 Sekunden8NeinNein
datetime2YYYY-MM-DD hh:mm:ss[.nnnnnnn]0001-01-01 00:00:00.0000000 bis 9999-12-31 23:59:59.9999999100 Nanosekunden6 bis 8JaNein
"DateTimeOffset"JJJJ-MM-TT HH: mm: [.nnnnnnn] [+-] hh: mm0001-01-01 00:00:00.0000000 bis 9999-12-31 23:59:59.9999999 (in UTC)100 Nanosekunden8 bis 10Jaja
System_CAPS_ICON_note.jpg Hinweis


Die Transact-SQL Rowversion Datentyp ist nicht mit einem Datentyp Datum oder Uhrzeit. Zeitstempel ist ein veraltetes Synonym für Rowversion.

In den folgenden Tabellen werden die Datums- und Uhrzeitfunktionen von Transact-SQL aufgelistet. Weitere Informationen zum Determinismus finden Sie unter Deterministic and Nondeterministic Functions.

Funktionen, die Systemdatums- und Systemzeitwerte Werte

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 2016Ruft das Datum und Uhrzeit-Werte mithilfe der Windows-API für GetSystemTimeAsFileTime() ab. Die Genauigkeit hängt von der Computerhardware und 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 Windows-API für GetSystemTimeAdjustment() ermittelt werden.

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
SYSDATETIMESYSDATETIME ()Gibt eine datetime2(7) -Wert enthält das Datum und die Uhrzeit des Computers, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird nicht einbezogen.datetime2(7)Nicht deterministisch
SYSDATETIMEOFFSETSYSDATETIMEOFFSET ( )Gibt eine datetimeoffset(7) -Wert enthält das Datum und die Uhrzeit des Computers, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird einbezogen.DateTimeOffset(7)Nicht deterministisch
SYSUTCDATETIMESYSUTCDATETIME ( )Gibt eine datetime2(7) -Wert enthält das Datum und die Uhrzeit des Computers, auf dem die Instanz von SQL Server ausgeführt wird. Das Datum und die Uhrzeit wird als UTC-Zeit (Coordinated Universal Time) zurückgegeben.datetime2(7)Nicht deterministisch

Systemdatums- und Systemuhrzeitfunktionen mit geringerer Genauigkeit

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
CURRENT_TIMESTAMPCURRENT_TIMESTAMPGibt eine "DateTime" -Wert enthält das Datum und die Uhrzeit des Computers, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird nicht einbezogen."DateTime"Nicht deterministisch
GETDATEGETDATE ( )Gibt eine "DateTime" -Wert enthält das Datum und die Uhrzeit des Computers, auf dem die Instanz von SQL Server ausgeführt wird. Der Zeitzonenoffset wird nicht einbezogen."DateTime"Nicht deterministisch
GETUTCDATEGETUTCDATE ( )Gibt eine "DateTime" -Wert enthält das Datum und die Uhrzeit des Computers, auf dem die Instanz von SQL Server ausgeführt wird. Das Datum und die Uhrzeit wird als UTC-Zeit (Coordinated Universal Time) zurückgegeben."DateTime"Nicht deterministisch

Funktionen, die Datum abrufen und Uhrzeitteile

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
DATENAMEDATENAME ( Datepart , Datum )Gibt eine Zeichenfolge, die den angegebenen darstellt Datepart des angegebenen Datums.nvarcharNicht deterministisch
DATEPART-WERTDATEPART ( Datepart , Datum )Gibt eine ganze Zahl, die den angegebenen darstellt Datepart des angegebenen Datum.intNicht deterministisch
TAGDAY ( date )Gibt eine ganze Zahl, die die Tagesangabe des angegebenen darstellt Datum.intDeterministisch
MONATMonat ( Datum )Gibt eine ganze Zahl, die die Monatsangabe eines angegebenen darstellt Datum.intDeterministisch
JAHRYEAR ( date )Gibt eine ganze Zahl, die für die Jahresangabe eines angegebenen Datum.intDeterministisch

Funktionen, die Datums- und Uhrzeitwerte aus ihren Teilen abrufen

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
DATEFROMPARTSDATEFROMPARTS ( Jahr, Monat, Tag )Gibt eine Datum Wert für den angegebenen Werten für Jahr, Monat und Tag.DatumDeterministisch
DATETIME2FROMPARTSDATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )Gibt eine datetime2 -Wert für das angegebene Datum und die Uhrzeit mit der angegebenen Genauigkeit.datetime2 ( Genauigkeit )Deterministisch
DATETIMEFROMPARTSDATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds )Gibt eine "DateTime" Wert für das angegebene Datum und die Uhrzeit."DateTime"Deterministisch
DATETIMEOFFSETFROMPARTSDATETIMEOFFSETFROMPARTS ( Jahr, Monat, Tag, Stunde, Minute, Sekunden, Brüche, Hour_offset, Minute_offset, Genauigkeit )Gibt eine "DateTimeOffset" -Wert für das angegebene Datum und die Uhrzeit mit den angegebenen Offsets und die Genauigkeit."DateTime" ( Genauigkeit )Deterministisch
SMALLDATETIMEFROMPARTSSMALLDATETIMEFROMPARTS ( Jahr, Monat, Tag, Stunde, Minute )Gibt eine Smalldatetime Wert für das angegebene Datum und die Uhrzeit.smalldatetimeDeterministisch
TIMEFROMPARTSTIMEFROMPARTS ( Stunde, Minute, Sekunden, Brüche, Genauigkeit )Gibt eine Zeit Wert für die angegebene Zeit und mit der angegebenen Genauigkeit.time( precision )Deterministisch

Funktionen, Abrufen von Datum, und Uhrzeit Unterschied

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
DATEDIFFDATEDIFF ( Datepart , "StartDate" , Enddate )Gibt die Anzahl der Datums- oder Zeitangabe Datepart Grenzen, die zwischen zwei angegebenen Daten überschritten wurden.intDeterministisch
DATEDIFF_BIGDATEDIFF_BIG ( Datepart , "StartDate" , Enddate )Gibt die Anzahl der Datums- oder Zeitangabe Datepart Grenzen, die zwischen zwei angegebenen Daten überschritten wurden.bigintDeterministisch

Funktionen, die geändert werden Datum und Uhrzeit-Werte

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
DATEADDDATEADD (Datepart , Anzahl , Datum )Gibt eine neue "DateTime" Wert durch Hinzufügen eines Intervalls zum angegebenen Datepart des angegebenen Datum.Der Datentyp der Datum ArgumentDeterministisch
EOMONTHEOMONTH ( Start_date [, Month_to_add ])Gibt den letzten Tag des Monats, der das angegebene Datum enthält, mit einem optionalen Versatz zurück.Rückgabetyp ist der Typ der Start_date oder Datum.Deterministisch
SWITCHOFFSETSWITCHOFFSET ("DateTimeOffset" , Time_zone)SWITCHOFFSET ändert den Zeitzonenoffset eines DATETIMEOFFSET-Werts und behält den UTC-Wert."DateTimeOffset" mit der Genauigkeit von Bruchteilen der "DateTimeOffset"Deterministisch
TODATETIMEOFFSETTODATETIMEOFFSET (Ausdruck , 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 der "DateTime" ArgumentDeterministisch

Funktionen, die festlegen oder Abrufen von Sitzungsformat

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
@@DATEFIRST@@DATEFIRSTGibt den für die Sitzung aktuellen Wert von SET DATEFIRST zurück."tinyint"Nicht deterministisch
SET DATEFIRSTSET DATEFIRST { Anzahl@number_var }Legt den ersten Wochentag auf eine Zahl von 1 bis 7 fest.Nicht verfügbarNicht verfügbar
SET DATEFORMAT-EINSTELLUNGSET DATEFORMAT { Format@format_var }Legt die Reihenfolge der Datumsbestandteile (Tag/Monat/Jahr) für das Eingeben von "DateTime" oder Smalldatetime Daten.Nicht verfügbarNicht verfügbar
@@LANGUAGE@@LANGUAGEGibt den Namen der Sprache, die derzeit verwendet wird. @@LANGUAGE ist keine Datums- oder Funktion. Die Spracheinstellung kann sich jedoch auf die Ausgabe von Datumsfunktionen auswirken.Nicht verfügbarNicht verfügbar
SET-SPRACHESET 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ügbarNicht verfügbar
sp_helplanguagesp_helplanguage [ [ @language = ] 'language' ]Gibt Informationen den Datumsformaten aller unterstützten Sprachen zurück. Sp_helplanguage ist kein Datum oder Uhrzeit gespeicherten Prozedur. Die Spracheinstellung wirkt sich jedoch auf die Ausgabe von Datumsfunktionen aus.Nicht verfügbarNicht verfügbar

Funktionen, mit denen überprüft Datum und Uhrzeit-Werte

FunktionSyntaxRückgabewertRückgabedatentypDeterminismus
ISDATEISDATE ( Ausdruck )Bestimmt, ob eine "DateTime" oder Smalldatetime -Eingabeausdruck ein gültiger Datums- oder Zeitwert.intISDATE 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.
ThemaDescription
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-AnweisungenEnthält Richtlinien für die Portabilität von Datenbanken und datenbankanwendungen, mit denen Transact-SQL Anweisungen von einer Sprache in eine andere bzw. unterstützen mehrere Sprachen.
ODBC-Skalarfunktionen (Transact-SQL)Enthält Informationen zu ODBC-Skalarfunktionen aufgelistet, die in zu verwendenden Transact-SQL Anweisungen. Dies schließt ODBC-Funktionen für Datum und Uhrzeit.
ZUR ZEITZONE (Transact-SQL)Stellt die Konvertierung der Zeitzone.

Integrierte Funktionen (Transact-SQL)
Datentypen (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: