2016-06-30 10 views
0

Ich muss eine große Datei von CSV-Daten in MySQL importieren, und wenn ich versuchte, die Unix_timestamp-Funktion von MySQL zu verwenden, um die Daten zu importieren, hat es etwa die Hälfte der Datensätze nicht geschafft.Einfache Möglichkeit, mehrere Datumsformate zu vereinheitlichen?

Soweit ich das beurteilen kann, werden die Datetime-Werte entweder mit einer einzigen ersten "Monats" -Ziffer oder zwei davon formatiert, und dasselbe gilt für den Tag des Monats (zB 6/6/2014 3:48 PM vs. 12/16/2014 3:48 PM) Dies wirft den Import komplett weg (gut die Hälfte der Datensätze wird nicht importiert).

Ich versuche, dies in einen unix_timestamp zu konvertieren.

Jetzt weiß ich, dass ich ein Skript mit einer Regex schreiben könnte, um so etwas zu reparieren, aber ich frage mich, gibt es eine einfachere Möglichkeit, einen Massenimport so zu machen? Für den Datensatz verwende ich meinen Texteditor, um die SQL-Anweisungen aus dem CSV als "Einfügen in" -Anweisungen zu schreiben. Hier habe ich versucht, Datumsformatierung zu verwenden, aber es scheint nur ein Format zu akzeptieren.

Jeder Weg, um dies mit einem so geringen Unterschied in der Eingabe zu tun?

+0

Sie wären die beste Wette gewesen wäre [STR_TO_DATE] (https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str- miteinander ausgehen); Aber selbst das erfordert, dass Sie das verwendete Datumsformat angeben, sodass Sie die Zeichenfolge trotzdem analysieren müssen, um das Format zu finden. – Uueerdo

Antwort

0

Eigentlich trotz meines Kommentars, so etwas wie diese Macht Arbeit:

COALESCE(STR_TO_DATE(val, "formatcandidate1") 
    , STR_TO_DATE(val, "formatcandidate2") 
    , STR_TO_DATE(val, "formatcandidate3") 
    , STR_TO_DATE(val, "formatcandidate4") 
    , [etc...] 
    ) AS dateVal 
0

Es gibt Online-Werkzeuge, um diese Art von Sachen zu tun reports.zoho.com ist einer von ihnen

In diesem Tool können Sie Daten unter Verwendung eines bestimmten Datumsformats importieren und die anderen Zeilen überspringen. und Sie können das gleiche für alle Art von Formaten tun, die

in der Datei vorhanden sind, und schließlich können Sie die Daten mit dem gleichen Datumsformat für alle Daten

frage mich jeden Zweifel exportieren, wenn Sie welche haben in Bezug auf dieses :)