Zuerst müssen Sie die Zeichenfolge Daten in ein gültiges Datum Zeitformat (yyyy-mm-dd hh:mm:ss
) konvertieren.
Mit Hilfe von STR_TO_DATE()
und DATE_FORMAT()
Funktionen können Sie diese Datumsstrings in das oben gewünschte Format konvertieren.
Jetzt können Sie den Datentyp sicher zu timestamp/datetime ändern/ändern.
Hier ist eine Demonstration:
SQL FIDDLE DEMO
Convert String Daten in gültige Datumsformat:
Create table yourtable(
id INT primary key AUTO_INCREMENT,
start varchar(50)
);
INSERT INTO yourtable(start) VALUES('1901-02-03T05:30:00.000Z');
UPDATE yourtable
SET start = DATE_FORMAT(STR_TO_DATE(start,'%Y-%m-%dT%H:%i:%s.000Z'),'%Y-%m-%d %H:%i:%s');
Ändern Sie den Datentyp:
ALTER TABLE yourtable MODIFY COLUMN start datetime;
Können Sie einige Ihrer realen Daten teilen? Sie müssen die Daten in eine Spalte vom Typ "varchar" einfügen. Dann müssen Sie die Zeichenfolge Daten in einem gültigen Datumsformat aktualisieren. Erst dann würde das Ändern des Datentyps zu "Datum" ein Erfolg werden. – 1000111
Ich habe ein Bild meiner Daten hinzugefügt (CSV-Datei). Wie kann ich dann die Zeichenkettendaten in gültiges Datumsformat mit hochgeladenen Daten in DB aktualisieren? – SUN