Konvertieren das Zeitstempelfeld in das Datum in der MySQL-Abfrage

Raymond Peter 25 März 2022
  1. Konvertieren Timestamp in MySQL mit dem Datumsformat
  2. Konvertieren Sie den Zeitstempel in MySQL mit dem Unixtime
  3. Konvertieren Sie Unixtime in MySQL mit Cast
Konvertieren das Zeitstempelfeld in das Datum in der MySQL-Abfrage

Dieser Tutorial-Artikel zeigt Ihnen, wie Sie ein timestamp-Feld in ein Datumsfeld in einer MySQL-Abfrage umwandeln. Dies zeigt, wie Sie die Formatierung verwenden, wenn Sie Daten richtig abfragen.

Konvertieren Timestamp in MySQL mit dem Datumsformat

Mit dem Datentyp TIMESTAMP können Sie sowohl Datum als auch Uhrzeit registrieren. Es hat 19 feste Zeichen, die eine Reihe von Daten von der ersten Sekunde des 1. Januar 1970 bis zum 19. Januar 2038 mit genau 3 Stunden, 14 Minuten und 7 Sekunden ermöglichen.

Mit der Funktion DATE_FORMAT können Sie ein Feld aus einer Tabelle nehmen und es in einer MySQL-Abfrage in das gewünschte Format konvertieren. Das Folgende ist ein Wert aus der Tabelle operations. Das registriert die Details aller Betriebsereignisse, wie z. B. eines Stillstands, in einer Fabrik.

|      shutdown       |
| ------------------- |
| 2021-12-31 09:45:07 |

Das Folgende ist ein Beispiel für eine Konvertierung, die die Spalte shutdown nimmt und sie von einem Zeitstempel mit dem Standardformat YYYY-MM-DD HH:MM:SS in ein Datum mit dem Format DD-MM-YYYY.

CREATE TABLE operations (
  user TEXT NOT NULL, 
  shutdown TIMESTAMP
);

INSERT INTO operations VALUES ('Mark', '2021-12-31 09:45:07');

SELECT DATE_FORMAT(operations.shutdown, '%d %m %Y')
AS 'Shutdown Date' 
FROM operations

Ausgabe:

| Shutdown Date |
|:--------------|
|  31 12 2021   |

Sie können sich auch dafür entscheiden, die Uhrzeit in das endgültige Datumsformat aufzunehmen, indem Sie %H, %i und %s für die Stunden-, Minuten- bzw. Sekundenwerte angeben.

CREATE TABLE operations (
  user TEXT NOT NULL, 
  shutdown TIMESTAMP
);

INSERT INTO operations VALUES ('Mark', '2021-12-31 09:45:07');

SELECT DATE_FORMAT(operations.shutdown, '%d %m %Y %h%:%i%:%s') 
AS 'Shutdown Date' 
FROM operations

Ausgabe:

|    Shutdown Date     |
|:---------------------|
|  31 12 2021 09:45:07 |

Für Minuten wird das Symbol %i verwendet, da %m bereits monatlichen Zahlenwerten zugeordnet ist.

Konvertieren Sie den Zeitstempel in MySQL mit dem Unixtime

Wenn der Zeitstempel im richtigen Format vorliegt, könnte das Datums-/Zeitformat 31 12 2021 09:45:07 so aussehen: 1640943907. Mit FROM_UNIXTIME können Sie die Zahlenfolge in ein Datum/Uhrzeit-Format umwandeln.

CREATE TABLE operations (
  user TEXT NOT NULL, 
  shutdown int(11)
);

INSERT INTO operations VALUES ('Mark', 1640943907);

SELECT DATE_FORMAT(FROM_UNIXTIME(operations.shutdown), '%d %m %Y %h%:%i%:%s') 
AS 'Shutdown Date' 
FROM operations

Ergebnis:

|    Shutdown Date     |
|:---------------------|
|  31 12 2021 09:45:07 |

Wie oben zu sehen, wurde der Zeitstempel in das gleiche Format konvertiert, indem einfach FROM_UNIXTIME hinzugefügt wurde, um die Zahlenfolge in das gewünschte Format zu konvertieren.

Konvertieren Sie Unixtime in MySQL mit Cast

Sie können anstelle von DATE_FORMAT auch CAST verwenden, um das Format UNIXTIME in ein Datum umzuwandeln.

CREATE TABLE operations (
  user TEXT NOT NULL, 
  shutdown int(11)
);

INSERT INTO operations VALUES ('Mark', 1640943907);

SELECT CAST(FROM_UNIXTIME(operations.shutdown) 
AS DATE)
AS 'Shutdown Date'
FROM operations

Ausgabe:

| Shutdown Date |
|:--------------|
|  2021-12-31   |

Diese Methode schränkt jedoch Ihre Möglichkeiten ein, das Datum nach Ihren Wünschen zu formatieren, weshalb die Verwendung von DATE_FORMAT bevorzugt wird.

Verwandter Artikel - MySQL Timestamp