Es gibt drei Arten von Zeittypen: 1. TIME-Typ, der für Werte verwendet wird, die nur Zeitinformationen erfordern. Er erfordert 3 Bytes zur Speicherung und das Format ist „HH:MM:SS“; 2. DATETIME-Typ, der verwendet wird Für Werte, die gleichzeitig Datums- und Uhrzeitinformationen enthalten, sind beim Speichern 8 Bytes im Format „JJJJ-MM-TT HH:MM:SS“ erforderlich. 3. TIMESTAMP-Typ, der für Werte verwendet wird, die benötigt werden Um sowohl Datums- als auch Uhrzeitinformationen zu enthalten, sind 4 Bytes für die Speicherung erforderlich und das Format ist „JJJJ-MM-TT HH:MM:SS“.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
Es gibt viele Datentypen, die Datum und Uhrzeit in MySQL darstellen: YEAR, TIME, DATE, DTAETIME, TIMESTAMP. Wenn Sie nur Jahresinformationen aufzeichnen, können Sie nur den Typ YEAR verwenden.
Jeder Typ hat einen zulässigen Wertebereich. Wenn ein unzulässiger Wert angegeben wird, fügt das System einen „Null“-Wert in die Datenbank ein.
Es gibt drei Arten von Zeit, die ausgedrückt werden können.
Typname | Zeitformat | Datumsbereich | Speicheranforderungen |
---|---|---|---|
ZEIT | HH:MM:SS | -838:59:59 ~ 838:59:59 | 3-Wörter-Abschnitt |
DATETIME | YYYY-MM-DD HH: MM: SS | 1000-01-01 00:00:00 ~ 9999-12-31 23: 59: 59 | 8 Bytes |
timestamp | JJJJ-MM-TT HH:MM:SS | 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | 4 Bytes |
TIME-Typ
TIME-Typ wird für Werte verwendet, die nur Zeitinformationen erfordern und 3 Bytes zur Speicherung benötigen. Das Format ist HH:MM:SS. HH steht für Stunden, MM für Minuten und SS für Sekunden.
Der Wertebereich des TIME-Typs beträgt -838:59:59~838:59:59. Der Grund, warum der Stundenteil so groß ist, liegt darin, dass der TIME-Typ nicht nur zur Darstellung der Tageszeit verwendet werden kann ( muss weniger als 24 Stunden betragen), kann aber auch eine bestimmte Zeit seit einem Ereignis oder die Zeit zwischen zwei Ereignissen sein (kann größer als 24 Stunden oder sogar negativ sein).
TIME-Werte können in verschiedenen Formaten angegeben werden, wie unten gezeigt.
'D HH:MM:SS' Formatzeichenfolge. Diese „nicht strikten“ Syntaxen können auch verwendet werden: „HH:MM:SS“, „HH:MM“, „D HH“ oder „SS“. D stellt hier den Tag dar, der einen Wert zwischen 0 und 34 annehmen kann. Beim Einfügen in die Datenbank wird D in Stunden umgewandelt und im Format „D*24+HH“ gespeichert.
'HHMMSS'-Format, eine Zeichenfolge ohne Trennzeichen oder ein numerischer Wert im HHMMSS-Format, vorausgesetzt eine aussagekräftige Zeit. Beispielsweise wird „101112“ als „10:11:12“ verstanden, aber „106112“ ist illegal (es hat einen bedeutungslosen Minutenteil) und wird beim Speichern zu 00:00:00.
Tipp: Bei der Zuweisung abgekürzter Werte zur TIME-Spalte beachten Sie bitte: Wenn kein Doppelpunkt vorhanden ist, geht MySQL bei der Interpretation des Werts davon aus, dass die beiden Ziffern ganz rechts Sekunden darstellen. (MySQL interpretiert TIME-Werte als vergangene Zeit und nicht als aktuelle Zeit). Ein Leser könnte beispielsweise denken, dass „1112“ und 1112 11:12:00 (also 12 Minuten nach 11 Uhr) bedeuten, MySQL interpretiert sie jedoch als 00:11:12 (also 11 Minuten und 12 Sekunden). ). Ebenso werden „12“ und 12 als 00:00:12 interpretiert. Wenn im TIME-Wert dagegen ein Doppelpunkt verwendet wird, wird dieser definitiv als Tageszeit betrachtet, d. h. „11:12“ bedeutet 11:12:00 und nicht 00:11:12.
DATETIME-Typ
DATETIME-Typ wird für Werte verwendet, die sowohl Datums- als auch Uhrzeitinformationen enthalten müssen, und erfordert 8 Bytes zur Speicherung. Das Datumsformat ist „JJJJ-MM-TT HH:MM:SS“, wobei JJJJ für das Jahr, MM für den Monat, TT für den Tag, HH für die Stunde, MM für die Minute und SS für die Sekunde steht.
Beim Zuweisen von Werten zu Feldern vom Typ DATETIME können Sie Daten vom Typ „String“ oder „Numeric“ zum Einfügen verwenden, sofern diese dem Datumsformat von DATETIME entsprechen, wie unten gezeigt:
Verwenden Sie „JJJJ-MM“. -DD HH:MM :SS' oder 'YYYYMMDDHHMMSS' Das im String-Format dargestellte Datum, der Wertebereich ist '1000-01-01 00:00:00' ~ '9999-12-3 23:59:59'. Wenn Sie beispielsweise „2014-12-31 05:05:05“ oder „20141231050505“ eingeben, lautet der in die Datenbank eingefügte DATETIME-Wert 2014-12-31 05:05:05.
Ein Datum im Zeichenfolgenformat „JJ-MM-TT HH:MM:SS“ oder „JJMMTDHHMMSS“, wobei JJ den zweistelligen Jahreswert darstellt. Wie zuvor wird der Jahreswert im Bereich „00~79“ in „2000~2079“ umgewandelt und der Jahreswert im Bereich „80~99“ wird in „1980~1999“ umgewandelt. Wenn Sie beispielsweise „14-12-31 05:05:05“ eingeben, ist die in die Datenbank eingefügte DATETIME 2014-12-31 05:05:05; wenn Sie 141231050505 eingeben, ist die in die Datenbank eingefügte DATETIME 2014 -31.12. 05:05:05 .
Datum und Uhrzeit im numerischen Format YYYYMMDDHHMMSS oder YYMMDDHHMMSS. Wenn Sie beispielsweise 20141231050505 eingeben, ist die in die Datenbank eingefügte DATUMZEIT 2014-12-31 05:05:05; wenn Sie 140505050505 eingeben, ist die in die Datenbank eingefügte DATUMZEIT 2014-12-31 05:05:05.
Tipp: MySQL erlaubt eine „entspannte“ Syntax: Jedes Satzzeichen kann als Trennzeichen zwischen Datums- oder Uhrzeitteilen verwendet werden. Zum Beispiel „98-12-31 11:30:45“, „98.12.31 11+30+35“, „98/12/31 11*30*45“ und „98@12@31 11^30^“. 45‘ sind gleichwertig und diese Werte können korrekt in die Datenbank eingefügt werden.
TIMESTAMP-Typ
Das Anzeigeformat von TIMESTAMP ist das gleiche wie DATETIME, die Anzeigebreite ist auf 19 Zeichen festgelegt, das Datumsformat ist JJJJ-MM-TT HH:MM:SS, was 4 Bytes zur Speicherung erfordert. Allerdings ist der Wertebereich der TIMESTAMP-Spalte kleiner als der Wertebereich von DATETIME, also '1970-01-01 00:00:01'UTC~'2038-01-19 03:14:07'UTC. Stellen Sie beim Einfügen von Daten sicher, dass diese innerhalb des zulässigen Wertebereichs liegen.
Tipps: Die koordinierte Weltzeit (englisch: Coordinated Universal Time, französisch: Temps Universel Coordonné) ist auch als Universal Unified Time, Universal Standard Time und International Coordinated Time bekannt. Die englischen (CUT) und französischen (TUC) Abkürzungen sind unterschiedlich und als Kompromiss lautet die Abkürzung UTC.
TIMESTAMP und DATETIME, zusätzlich zu unterschiedlichen Speicherbytes und unterstützten Bereichen, ist der größte Unterschied:
DATETIME Beim Speichern von Datumsdaten werden diese im tatsächlichen Eingabeformat gespeichert, d. h. alles, was eingegeben wird, wird gespeichert. Unabhängig von der Zeitzone
Der TIMESTAMP-Wert wird im UTC-Format (koordinierte Weltzeit) gespeichert. Die aktuelle Zeitzone wird beim Speichern konvertiert und beim Abrufen wieder in die aktuelle Zeitzone konvertiert. Das heißt, bei der Abfrage ist der angezeigte Zeitwert je nach aktueller Zeitzone unterschiedlich.
Tipp: Wenn Sie einem DATETIME- oder TIMESTAMP-Objekt einen DATE-Wert zuweisen, wird der Zeitanteil des resultierenden Werts auf „00:00:00“ gesetzt, sodass der DATE-Wert keine Zeitinformationen enthält. Wenn einem DATE-Objekt ein DATETIME- oder TIMESTAMP-Wert zugewiesen wird, wird der Zeitanteil des resultierenden Werts entfernt, sodass der DATE-Wert keine Zeitinformationen enthält.
【Verwandte Empfehlungen: MySQL-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonWelche Art von Zeit wird in MySQL verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!