smalldatetime (Transact-SQL)
Definiert ein Datum, das mit einer Uhrzeit kombiniert wird. Die Uhrzeit basiert auf dem 24-Stunden-Format, wobei die Sekunden immer 0 sind (:00) und es keine Sekundenbruchteile gibt.
Hinweis |
---|
Verwenden Sie für neue Arbeitsaufgaben die Datentypen time, date, datetime2 und datetimeoffset. Diese Typen entsprechen dem SQL-Standard. Sie lassen sich besser portieren. time, datetime2 und datetimeoffset bieten mehr Genauigkeit bei Sekundenbruchteilen. datetimeoffset bietet Zeitzonenunterstützung für global bereitgestellte Anwendungen. |
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 smalldatetime
Syntax |
smalldatetime |
Verwendung |
DECLARE @MySmalldatetime smalldatetime CREATE TABLE Table1 ( Column1 smalldatetime ) |
Standardmäßige Formate der Zeichenfolgenliterale (wird für Downlevelclients verwendet) |
Nicht verfügbar |
Datumsbereich |
1900-01-01 bis 2079-06-06 Zwischen dem 1. Januar 1900 und dem 6. Juni 2079 |
Uhrzeitbereich |
00:00:00 bis 23:59:59 2007-05-09 23:59:59 wird aufgerundet auf 2007-05-10 00:00:00 |
Elementbereiche |
Bei YYYY handelt es sich um vier Ziffern im Berich von 1900 bis 2079, die ein Jahr darstellen. Bei MM handelt es sich um zwei Ziffern im Bereich von 01 bis 12, die im angegebenen Jahr einen Monat darstellen. Bei DD handelt es sich um zwei Ziffern im Bereich von 01 bis 31, die im angegebenen Monat einen Tag darstellen. Bei hh handelt es sich um zwei Ziffern im Bereich von 00 bis 23, die die Stunde darstellen. Bei mm handelt es sich um zwei Ziffern im Bereich von 00 bis 59, die die Minute darstellen. Bei ss handelt es sich um zwei Ziffern im Bereich von 00 bis 59, die die Sekunde darstellen. Werte, die kleiner oder gleich 29,998 Sekunden sind, werden auf die nächste Minute abgerundet; Werte, die größer oder gleich 29,999 Sekunden sind, werden auf die nächste Minute aufgerundet. |
Zeichenlänge |
Maximal 19 Positionen |
Speichergröße |
4 Bytes, feste Größe |
Genauigkeit |
Eine Minute |
Standardwert |
1900-01-01 00:00:00 |
Kalender |
Gregorianisch (schließt nicht den vollständigen Bereich von Jahren ein) |
Benutzerdefinierte Genauigkeit in Sekundenbruchteilen |
Nein |
Beachtung und Beibehaltung des Zeitzonenoffsets |
Nein |
Beachtung der Sommerzeit |
Nein |
Kompatibilität mit ANSI und ISO 8601
smalldatetime ist nicht mit ANSI oder ISO 8601 kompatibel.
Beispiele
A. Umwandeln von Zeichenfolgenliteralen mit Sekunden in smalldatetime
Im folgenden Beispiel wird die Konvertierung von Sekunden in Zeichenfolgenliteralen in smalldatetime verglichen.
SELECT
CAST('2007-05-08 12:35:29' AS smalldatetime)
,CAST('2007-05-08 12:35:30' AS smalldatetime)
,CAST('2007-05-08 12:59:59.998' AS smalldatetime);
Eingabe |
Ausgabe |
---|---|
2007-05-08 12:35:29 |
2007-05-08 12:35:00 |
2007-05-08 12:35:30 |
2007-05-08 12:36:00 |
2007-05-08 12:59:59.998 |
2007-05-08 13:00:00 |
B. Vergleichen des date-Datentyps mit dem time-Datentyp
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';
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 |