date (Transact-SQL)
Definiert ein Datum.
Eine Übersicht über alle Datums- und Uhrzeitdatentypen und zugehörigen Funktionen von Transact-SQL finden Sie unter Datums- und Uhrzeitfunktionen (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.
Beschreibung von date
Eigenschaft |
Wert |
---|---|
Syntax |
date |
Verwendung |
DECLARE @MyDate date CREATE TABLE Table1 (Column1 date ) |
Standardmäßiges Format der Zeichenfolgenliterale (wird für Downlevelclients verwendet) |
YYYY-MM-DD Weitere Informationen finden Sie im Abschnitt "Abwärtskompatibilität für Downlevelclients" im Thema Verwenden von Datums- und Zeitdaten. |
Bereich |
0001-01-01 bis 9999-12-31 Zwischen dem 1. Januar 1 n. Chr. und dem 31. Dezember 9999 n. Chr. |
Elementbereiche |
Bei YYYY handelt es sich um vier Ziffern von 0001 bis 9999, die ein Jahr darstellen. Bei MM handelt es sich um zwei Ziffern von 01 bis 12, die im angegebenen Jahr einen Monat darstellen. Bei DD handelt es sich um zwei Ziffern von 01 bis 31, die im angegebenen Monat einen Tag darstellen. |
Zeichenlänge |
10 Stellen |
Genauigkeit, Dezimalstellen |
10, 0 |
Speichergröße |
3 Bytes, feste Größe |
Speicherstruktur |
1 ganze Zahl mit 3 Bytes speichert das Datum. |
Genauigkeit |
Ein Tag |
Standardwert |
1900-01-01 Dieser Wert wird für den angefügten Datumsteil für eine implizite Konvertierung von time in datetime2 oder datetimeoffset verwendet. |
Kalender |
Gregorianisch |
Benutzerdefinierte Genauigkeit in Sekundenbruchteilen |
Nein |
Beachtung und Beibehaltung des Zeitzonenoffsets |
Nein |
Beachtung der Sommerzeit |
Nein |
Unterstützte Formate der Zeichenfolgenliterale für date
In den folgenden Tabellen werden die gültigen Formate der Zeichenfolgenliterale für den date-Datentyp aufgeführt.
Numerisch |
Beschreibung |
---|---|
mdy [m]m/dd/[yy]yy [m]m-dd-[yy]yy [m]m.dd.[yy]yy myd mm/[yy]yy/dd mm-[yy]yy/dd [m]m.[yy]yy.dd dmy dd/[m]m/[yy]yy dd-[m]m-[yy]yy dd.[m]m.[yy]yy dym dd/[yy]yy/[m]m dd-[yy]yy-[m]m dd.[yy]yy.[m]m ymd [yy]yy/[m]m/dd [yy]yy-[m]m-dd [yy]yy-[m]m-dd |
[m]m, dd und [yy]yy stellen den Monat, den Tag und das Jahr in einer Zeichenfolge mit Schrägstrichen (/), Bindestrichen (-) oder Punkten (.) als Trennzeichen dar. Es werden nur vier- oder zweistellige Jahreszahlen unterstützt. Verwenden Sie nach Möglichkeit immer vierstellige Jahreszahlen. Um eine ganze Zahl zwischen 0001 und 9999 anzugeben, die das Umstellungsjahr für das Interpretieren zweistelliger Jahre als vierstellige Jahre darstellt, verwenden Sie die two digit year cutoff (Option). Ein zweistelliges Jahr, das kleiner als oder gleich den letzten zwei Ziffern des Umstellungsjahres ist, liegt im selben Jahrhundert wie das Umstellungsjahr. Ein zweistelliges Jahr, das größer als oder gleich den letzten zwei Ziffern des Umstellungsjahres ist, liegt im Jahrhundert vor dem Umstellungsjahr. Wenn z. B. two-digit year cutoff den Standardwert 2049 annimmt, wird das zweistellige Jahr 49 als 2049 und das zweistellige Jahr 50 als 1950 interpretiert. Das Standarddatumsformat wird von der aktuellen Spracheinstellung bestimmt. Sie können das Datumsformat ändern, indem Sie die Anweisungen SET LANGUAGE und SET DATEFORMAT verwenden. Das ydm-Format wird nicht für date unterstützt. |
Alphabetisch |
Beschreibung |
---|---|
mon [dd][,] yyyy mon dd[,] [yy]yy mon yyyy [dd] [dd] mon[,] yyyy dd mon[,][yy]yy dd [yy]yy mon [dd] yyyy mon yyyy mon [dd] yyyy [dd] mon |
mon stellt den vollständigen Monatsnamen oder die in der aktuellen Sprache angegebene Monatsabkürzung dar. Kommas sind optional, und die Großschreibung wird ignoriert. Um Mehrdeutigkeit zu vermeiden, sollten Sie vierstellige Jahreszahlen vermeiden. Wenn der Tag fehlt, wird der erste Tag des Monats angegeben. |
ISO 8601 |
Beschreibung |
---|---|
YYYY-MM-DD YYYYMMDD |
Identisch mit dem SQL-Standard. Dies ist das einzige Format, das als internationaler Standard definiert ist. |
Unstrukturiert |
Beschreibung |
---|---|
[yy]yymmdd yyyy[mm][dd] |
Die date-Daten können mit vier, sechs oder acht Ziffern angegeben werden. Eine Zeichenfolge mit sechs oder acht Ziffern wird immer als ymd interpretiert. Monat und Tag müssen immer zweistellig sein. Eine vierstellige Zeichenfolge wird als Jahr interpretiert. |
ODBC |
Beschreibung |
---|---|
{ d 'yyyy-mm-dd' } |
ODBC-API-spezifisch Funktionen in SQL Server 2008 wie in SQL Server 2005. |
W3C XML-Format |
Beschreibung |
---|---|
yyyy-mm-ddTZD |
Speziell unterstützt für die XML/SOAP-Verwendung. TZD ist der Zeitzonenkennzeichner (Z oder +hh:mm oder -hh:mm):
|
Kompatibilität mit ANSI und ISO 8601
date ist mit der ANSI SQL-Standarddefinition für den gregorianischen Kalender kompatibel: "NOTE 85 - Datetime data types will allow dates in the Gregorian format to be stored in the date range 0001–01–01 CE through 9999–12–31 CE."
Das standardmäßige Format der Zeichenfolgenliterale, das für Downlevelclients verwendet wird, ist mit dem SQL-Standard konform, der als YYYY-MM-DD definiert ist. Dieses Format ist mit der Definition von ISO 8601 für DATE identisch.
Beispiele
Im folgenden Beispiel werden die Ergebnisse der Umwandlung von einer Zeichenfolge in alle Datums- und Uhrzeitdatentypen verglichen.
SELECT
CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date'
,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS
'smalldatetime'
,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS
'datetime2'
,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS
'datetimeoffset';
Dies ist das Resultset.
Datentyp |
Ausgabe |
---|---|
time |
12:35:29. 1234567 |
date |
2007-05-08 |
smalldatetime |
2007-05-08 12:35:00 |
datetime |
2007-05-08 12:35:29.123 |
datetime2 |
2007-05-08 12:35:29. 1234567 |
datetimeoffset |
2007-05-08 12:35:29.1234567 +12:15 |
Siehe auch