2016-12-08 1 views
1

Ich möchte meine CSV-Datei hochladen, die yyyy-mm-ddThh:mm:ss.sssZ Daten enthält.MySQL yyyy-mm-ddThh: mm: s.sssZ bis JJJJ-MM-TT hh: mm: ss

Wenn ich DATETIME Typ in MySQL gesetzt,

I 1292. Fehlercode bekam

MySQL Wie kann ich yyyy-mm-ddThh:mm:ss.sssZ Typ erfolgreich hochladen?

enter image description here

+0

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

+0

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

Antwort

0

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; 
+0

Ich bin dankbar für Ihre Hilfe !! – SUN

+0

Sie können die Antwort als Akzeptiert markieren, damit andere sie nützlich finden. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – 1000111

Verwandte Themen