ubuntuusers.de

Datums-Format beim Import in MySQL wandeln

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

ich möchte eine csv-Datei nach MySQL importieren, geht ja auch ohne Probleme mit LOAD DATA INFILE...

Die csv-Datei enthält auch ein Datum im tt.mm.jjjj Format, Beispielzeile:

AL1234;45;100.5;1.7.2009;

MySQL erwartet aber das Datum als jjjj-mm-tt. Beim Import des Datums gem. Beispiel geht das Datum verloren, in der Tabelle steht nachher als Wert 0000-00-00.

Frage: kann man das Datumsformat beim Import konvertieren? Oder in MySQL das Format für das Datums-Feld ändern?

Akzeptabel wäre auch ein Skript, dass die csv-Datei direkt bearbeitet und dort das Datum umstellt.

Gruß, noisefloor

toddy Team-Icon

Ikhayateam
Avatar von toddy

Anmeldungsdatum:
31. Juli 2007

Beiträge: 9522

Wohnort: Lüneburg

noisefloor schrieb:

Frage: kann man das Datumsformat beim Import konvertieren?

Akzeptabel wäre auch ein Skript, dass die csv-Datei direkt bearbeitet und dort das Datum umstellt.

Hallo,

Du kannst das schon vorher konvertieren. Du kannst den Datensatz in Calc einlesen und dann dort das Feld formatieren, so dass dort als Datumsformat JJJJ-MM-TT bei rauskommt. Dann wieder als csv abspeichern und dann in Mysql einlesen.

Gruß

Torsten

noisefloor Team-Icon

(Themenstarter)

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Du kannst das schon vorher konvertieren.

Prinzipiell schon, aber total unpraktikabel.

Weil:

  • es gibt jeden Tag mehrere csv-Datei, die automatisch importiert werden sollen

  • es gibt eine csv-Datei, die über 300.000 Zeilen hat...

Gruß, noisefloor

schmauch

Avatar von schmauch

Anmeldungsdatum:
27. April 2009

Beiträge: 115

Wohnort: Wettswil a. A.

Das Ganze ginge auch direkt in SQL:

LOAD DATA INFILE 'file.txt'
  INTO TABLE t1
  (column1, @var1)
  SET column2 = STR_TO_DATE(@var1, '%e.%c.%Y');

siehe http://dev.mysql.com/doc/refman/5.1/de/load-data.html

und http://dev.mysql.com/doc/refman/5.1/de/date-and-time-functions.html

Gruss Schmauch

noisefloor Team-Icon

(Themenstarter)

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

@schmauch: ja, funktioniert 1A, Danke. ☺

Gruß, noisefloor

Antworten |