2016-09-01 4 views
0

Ich entschuldige mich im Voraus für das, was wahrscheinlich wie eine doppelte Frage scheint, aber ich habe jede Lösung versucht, die ich finden konnte, und nichts scheint zu funktionieren.Konvertierung der Zeitzeichenfolge von AMPM zu Military in MySQL

Ich habe eine Tabelle mit Zeit getrennt als Varchar gespeichert. Der Wert eines bestimmten Datensatzes ist "6:00 PM"

Ich habe jede Funktion und Konvertierung in MySQL versucht, aber kann dieses Ding nicht in militärische Zeit konvertieren.

Irgendwelche Ideen?

Antwort

1

Sie sollten die Speicherzeiten nicht als VARCHAR, sondern als DATETIME betrachten. So können Sie es mit DATE_FORMAT() wie gewünscht formatieren.

Was können Sie hier tun ist, verwenden STR_TO_DATE()-convert die Zeichenfolge in eine DATETIME, dann DATE_FORMAT() verwenden es zu formatieren.

-- Let's say `time` is the value "6:00 PM" 
-- This should return "18:00" 
SELECT DATE_FORMAT(STR_TO_DATE(`time`, '%l:%i %p'), '%k:%i') AS milTime;