2155 | 0000 |
|
DATETIME
DATETIME wird zur Darstellung von Jahr, Monat, Tag, Stunde, Minute und Sekunde verwendet. Es ist eine Kombination aus DATE und TIME, und das aufgezeichnete Jahr (siehe Tabelle oben) ist relativ lang. Wenn in tatsächlichen Anwendungen ein solcher Bedarf besteht, können Sie den Typ DATETIME verwenden.
TIMESTAMP
- TIMESTAMP wird verwendet, um Jahr, Monat, Tag, Stunden, Minuten und Sekunden darzustellen, aber das aufgezeichnete Jahr (siehe Tabelle oben) ist relativ kurz.
- TIMESTAMP bezieht sich auf die Zeitzone und spiegelt besser die aktuelle Zeit wider. Beim Einfügen eines Datums wird dieses vor der Speicherung in die lokale Zeitzone konvertiert; bei der Datumsabfrage wird das Datum vor der Anzeige in die lokale Zeitzone konvertiert. Menschen in verschiedenen Zeitzonen sehen also dieselbe Zeit unterschiedlich.
- Die erste TIMESTAMP-Spalte in der Tabelle wird automatisch auf die Systemzeit (CURRENT_TIMESTAMP) gesetzt. Wenn eine Zeile eingefügt oder aktualisiert wird, ohne der Spalte TIMESTAMP explizit einen Wert zuzuweisen, wird diese automatisch auf die aktuelle Systemzeit gesetzt. Wenn in der Tabelle eine zweite TIMESTAMP-Spalte vorhanden ist, wird der Standardwert auf 0000-00-00 00:00:00 gesetzt.
- TIMESTAMP-Eigenschaften werden stark von der MySQL-Version und dem Server-SQLMode beeinflusst.
Wenn das aufgezeichnete Datum von Personen in verschiedenen Zeitzonen verwendet werden muss, verwenden Sie am besten TIMESTAMP.
DATE
DATE wird zur Darstellung von Jahr, Monat und Tag verwendet. Wenn der tatsächliche Anwendungswert Jahr, Monat und Tag speichern muss, können Sie DATE verwenden.
TIME
TIME wird zur Darstellung von Stunden, Minuten und Sekunden verwendet. Wenn der tatsächliche Anwendungswert Stunden, Minuten und Sekunden speichern muss, können Sie TIME verwenden.
YEAR
YEAR wird zur Darstellung des Jahres verwendet und hat 2 Ziffern (vorzugsweise 4 Ziffern) und 4 Ziffern für das Jahr. Der Standardwert ist 4 Ziffern. Wenn die eigentliche Anwendung nur das Jahr speichert, ist es völlig in Ordnung, 1 Byte zum Speichern des Typs YEAR zu verwenden. Dies kann nicht nur Speicherplatz sparen, sondern auch die Effizienz der Tischbedienung verbessern.
------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -----------
Jeder Datums- und Uhrzeittyp hat einen gültigen Wertebereich. Wenn er diesen Bereich überschreitet, wird ein Fehler im Standard-SQL-Modus gemeldet und als Nullwert gespeichert (siehe Tabelle oben). ).
Beim Einfügen oder Aktualisieren ermöglichen Datums- und Uhrzeittypen eine „entspannte“ Syntax, am Beispiel von DATETIME (andere Datums- und Uhrzeittypen sind ähnlich):
- JJJJ-MM-TT HH:MM:SS oder JJ-MM- DD HH: Eine Zeichenfolge im MM:SS-Format. Als Trennzeichen für den Datumsteil oder den Uhrzeitteil kann jedes beliebige Symbol verwendet werden. Zum Beispiel: „14-06-18 14:54:10“, „14*06*18 14.54.10“, „14+06+18 14=54=10“ sind gleichwertig. Wenn bei Zeichenfolgenwerten mit Datum und Uhrzeit die Werte für Monat, Tag, Stunde, Minute und Sekunde kleiner als 10 sind, müssen keine zwei Ziffern angegeben werden. Beispiel: „2014-2-3 2:3:6“ und „2014-02-03 02:03:06“ sind gleichwertig.
- Eine Zeichenfolge im Format YYYYMMDDHHMMSS oder YYMMDDHHMMSS. Eine Zeichenfolge kann als Datetime-Typ interpretiert werden, wenn sie für einen Datetime-Typ gültig ist. Beispiel: „20140618145410“ und „140618145410“ werden als „2014-06-18 14:54:10“ interpretiert, aber „20140618145480“ ist unzulässig (die Anzahl der Sekunden ist unzulässig) und wird als „0000-00“ interpretiert - 00 00:00:00".
- Eine Zahl im Format YYYYMMDDHHMMSS oder YYMMDDHHMMSS. Wenn die Zahl für einen Datetime-Typ gültig ist, kann sie als Datetime-Typ interpretiert werden. Beispiel: „20140618145410“ und „140618145410“ werden als „2014-06-18 14:54:10“ interpretiert. Die Länge des Werts sollte 6, 8, 12, 14 betragen. Wenn der Wert 8 oder 14 Bit lang ist, wird das Format JJJJMMTT oder JJJJMMTHMMSS angenommen. Wenn der Wert 6 oder 12 Bit lang ist, wird das Format JJMMTT oder YYMMDDHHMMSS angenommen.
Empfohlenes Tutorial: MySQL-Video-Tutorial