Zusammenfassung: In diesem Lernprogramm erfahren Sie, wie Sie mit SQL Server DATETIME2
Datums- und Uhrzeitdaten in einer Tabelle speichern.
Einführung in SQL Server DATETIME2
Um Datum und Uhrzeit in der Datenbank zu speichern, verwenden Sie den Datentyp SQL Server DATETIME2
.
Die Syntax von DATETIME2
lautet wie folgt:
Code language: SQL (Structured Query Language) (sql)
Die Genauigkeit von Sekundenbruchteilen ist optional. Es reicht von 0 bis 7.
Die folgende Anweisung veranschaulicht, wie eine Tabelle erstellt wird, die aus einer DATETIME2
-Spalte besteht:
Code language: SQL (Structured Query Language) (sql)
Die DATETIME2
hat zwei Komponenten: Datum und Uhrzeit.
- Das Datum hat einen Bereich von Januar 01, 01 (0001-01-01) bis Dezember 31, 9999 (9999-12-31)
- Die Zeit hat einen Bereich von 00:00:00 bis 23:59:59.9999999.
Die Speichergröße eines DATETIME2
-Werts hängt von der Genauigkeit der Sekundenbruchteile ab. Es erfordert 6 Bytes für die Genauigkeit, die kleiner als 3 ist, 7 Bytes für die Genauigkeit, die zwischen 3 und 4 liegt, und 8 Bytes für alle anderen Genauigkeiten.
Das Standard-String-Literalformat von DATETIME2
lautet wie folgt:
Code language: SQL (Structured Query Language) (sql)
In diesem Format:
-
YYYY
ist eine vierstellige Zahl, die ein Jahr darstellt, z. B. 2018. Es reicht von 0001 bis 9999. -
MM
ist eine zweistellige Zahl, die einen Monat in einem Jahr darstellt, z. B. 12. Es reicht von 01 bis 12. -
DD
ist eine zweistellige Zahl, die einen Tag eines bestimmten Monats darstellt, z. B. 23. Es reicht von 01 bis 31. -
hh
ist eine zweistellige Zahl, die die Stunde darstellt. Es reicht von 00 bis 23. -
mm
ist eine zweistellige Zahl, die die Minute darstellt. Es reicht von 00 bis 59. -
ss
ist eine zweistellige Zahl, die die Sekunde darstellt. Es reicht von 00 bis 59. - Der Sekundenbruchteil entspricht einer siebenstelligen Zahl von 0 bis 9999999.
SQL Server DATETIME2 Beispiel
Die folgende Anweisung erstellt eine neue Tabelle mit einer Spalte created_at
, deren Datentyp DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
Um das aktuelle Datum und die aktuelle Uhrzeit in die Spalte created_at
einzufügen, verwenden Sie die folgende Anweisung INSERT
mit der Funktion GETDATE
():
Code language: SQL (Structured Query Language) (sql)
Die Funktion GETDATE
() ähnelt der Funktion NOW()
in anderen Datenbanksystemen wie MySQL
Um einen Literalwert in die Spalte DATETIME2
einzufügen, verwenden Sie die folgende Anweisung:
Code language: SQL (Structured Query Language) (sql)
Wenn Sie den Standardwert der Spalte created_at
auf das aktuelle Datum und die aktuelle Uhrzeit festlegen möchten, verwenden Sie die folgende Anweisung ALTER TABLE
:
Code language: SQL (Structured Query Language) (sql)
In dieser Anweisung verwenden wir CURRENT_TIMESTAMP
als Standardwert für die Spalte created_at
. Beachten Sie, dass CURRENT_TIMESTAMP
denselben Wert zurückgibt wie die Funktion GETDATE
().
Wenn Sie nun eine neue Zeile in die Tabelle einfügen, ohne den Wert für die Spalte created_at
anzugeben, verwendet SQL Server den aktuellen Datums- und Uhrzeitwert für diese Spalte:
Code language: SQL (Structured Query Language) (sql)
In diesem Lernprogramm haben Sie gelernt, wie Sie den SQL Server-Datentyp DATETIME2
verwenden, um Datums- und Uhrzeitdaten in einer Tabelle zu speichern.