Zuweilen mit Datum und Uhrzeit in SQL kann ziemlich knifflig sein. Während Datum und Uhrzeit tatsächlich völlig unterschiedliche Datentypen sind, werden sie häufig zu einem Datums- / Uhrzeit-Datentyp zusammengeführt. SQL-Daten und -Zeiten allein sind ziemlich einfach, aber das Zusammenführen der beiden kann eine der schmerzhaftesten Aufgaben sein. In diesem Artikel erfahren Sie mehr über den SQL-Datetime-Typ.
- Was ist der DateTime-Datentyp?
- datetime Beschreibung
- Konvertieren anderer Datums- und Zeittypen in den Datums- / Uhrzeitdatentyp
Was ist der Datetime-Datentyp?
In SQL Terminzeit Der Datumsdatentyp wird für Werte verwendet, die sowohl Datum als auch Uhrzeit enthalten. Microsoft definiert es als Datum kombiniert mit einer Tageszeit mit Sekundenbruchteilen, die auf einer 24-Stunden-Uhr basiert .
Insbesondere SQL verfügt über viele Datentypen, die sowohl die Datums- als auch die Uhrzeitdarstellung kombinieren, wodurch die Dinge komplexer werden. Das am weitesten verbreitete ist das DATETIME, wie es seit den früheren Versionen von SQL vorhanden ist. SQL ruft DATETIME-Werte im Format 'JJJJ-MM-TT hh: mm: ss' ab und zeigt sie an. Der unterstützte Bereich ist '1753-01-01 00:00:00' bis '9999-12-31 23: 59: 59.997'. Lassen Sie uns den Datums- / Uhrzeittyp genauer untersuchen.
datetime Beschreibung
In der folgenden Tabelle erfahren Sie mehr über den SQL-Datetime-Typ.
Eigentum | Wert |
Syntax | Terminzeit |
Verwendung | DECLARE @MyDatetimeTerminzeit TABELLE ERSTELLEN Tabelle1 (Spalte1Terminzeit) |
Format | „JJJJ-MM-TT hh: mm: ss.nnn |
Zeitspanne | 00:00:00 bis 23: 59: 59.997 |
Elementbereiche |
|
Speichergröße wie man Ersetzen in Java verwendet | 8 Bytes |
Standardwert | 1900-01-01 00:00:00 |
Kalender | Gregorian (Beinhaltet die gesamte Bandbreite der Jahre.) |
Hinweis: Die obigen Details gelten für den Datum / Uhrzeit-Typ in Transact-SQL undSQL Server.
So das ist Terminzeit in SQL. Aber was würden Sie tun, wenn Sie ein anderes Datum haben &Zeittypen und Sie müssen sie konvertieren Terminzeit Art?
Konvertieren anderer Datums- und Zeittypen in den Datums- / Uhrzeitdatentyp
Das Terminzeit Datentyp in SQL Enthält Datum und Uhrzeit mit einem dreistelligen Sekundenbruchteil. Die Genauigkeit wird auf Schritte von .000, .003 oder .007 Sekunden gerundet. Also, wenn Sie a konvertieren Datum oder Zeit Werte zu Terminzeit Dem Wert werden zusätzliche Informationen hinzugefügt. Das liegt daran, dass die Terminzeit Der Datentyp enthält sowohl Datum als auch Uhrzeit. Dieser Teil des Artikels erklärt, was passiert, wenn andere Datum (und Uhrzeit Datentypen werden in die konvertiert Terminzeit Datentyp.
Beispiel 1: Implizite Konvertierung zwischen Datum und Uhrzeit
DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date
Ergebnis
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Beispiel 2: Implizite Konvertierung zwischen Datum und Uhrzeit mit CAST ()
DECLARE @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'
Ergebnis
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Beispiel 3: Implizite Konvertierung von smalldatetime nach datetime
Wenn die Konvertierung von s ist Malldatetime Typ, werden die Stunden und Minuten kopiert. Die Sekunden und Sekundenbruchteile werden auf den Wert 0 gesetzt. Der folgende Code zeigt die Ergebnisse der Konvertierung von a kleine Zeit Wert zu a Terminzeit Wert.
DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'
Ergebnis
@datetime @smalldatetime ------------------------- --------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00
Ebenso können Sie andere konvertieren Terminzeit Typen zu Datenzeit Geben Sie entweder implizit oder mit ein Besetzung() und Konvertieren() Methoden. Schauen Sie sich als Referenz die folgende Tabelle an, um sich mit den Formaten aller Datums- und Zeittypen vertraut zu machen.
Datentyp | Beispiel |
Zeit | 12:35:29. 1234567 |
Datum | 2007-05-08 |
kleine Zeit | 2007-05-08 12:35:00 |
Terminzeit | 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 |
Damit sind wir am Ende dieses Artikels angelangt. Ich hoffe, Sie sind sich über den hier diskutierten Inhalt im Klaren. Stellen Sie sicher, dass Sie so viel wie möglich üben und Ihre Erfahrung zurücksetzen.
Wenn Sie mehr darüber erfahren möchten MySQL Lernen Sie diese relationale Open-Source-Datenbank kennen und sehen Sie sich unsere an Dies beinhaltet ein von Lehrern geführtes Live-Training und praktische Projekterfahrung. Diese Schulung hilft Ihnen dabei, MySQL gründlich zu verstehen und das Thema zu beherrschen.
Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Artikels 'Prozeduren in SQL'. Wir werden uns dann bei Ihnen melden.