SQL Datetime: Alles, was Sie wissen müssen

In diesem Artikel über SQL-Datums- und Uhrzeitangaben erfahren Sie, wie Sie Datums- und Uhrzeittypen eingeben und wie Sie von anderen Datums- und Uhrzeittypen in Datums- und Uhrzeittypen konvertieren

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?

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

  • JJJJ besteht aus vier Ziffern von 1753 bis 9999, die ein Jahr darstellen.
  • MM ist zweistellig und reicht von 01 bis 12, was einen Monat im angegebenen Jahr darstellt.
  • DD besteht aus zwei Ziffern, die je nach Monat zwischen 01 und 31 liegen und einen Tag des angegebenen Monats darstellen.
  • hh sind zwei Ziffern im Bereich von 00 bis 23, die die Stunde darstellen.
  • mm ist zweistellig und reicht von 00 bis 59, was die Minute darstellt.
  • ss ist zweistellig und reicht von 00 bis 59, was die zweite darstellt.
  • n * ist null bis drei Stellen im Bereich von 0 bis 999, die die Sekundenbruchteile darstellen.

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.