MySQL Datenimport kleines Umwandlungsproblem
Hallo Liste, folgender Konstellation ist vorhanden. Ein Buchhaltungsprogramm, nur lauffähig auf Windows (Lexware) gibt die Daten als CSV Datei aus. Diese Datei SaldenXX.csv enthält natürlich auch Dezimalzahlen in folgender Darstellung ; 10.255,76 ; EUR ; usw. Wenn in der MySQL Tabelle dieses Feld als DEZIMAL - Feld deklariert wird, dann steht nach dem Datenimport 10.25 im Feld. Grund ist der . (Punkt) nach der 10. Bekanntes Problem bereits aus der Zeit von Cobol Point is Coma . Gibt es eine Möglichkeit unter MySQL die Daten richtig in ein Dezimalfeld einzulesen? Das Feld als Textfeld zu deklarieren ist in diesem Falle leider nicht der gewünschte Weg. Es sollen mit den Werten auch noch Rechenoperationen ausgeführt werden. Bin für jeden Hinweis dankbar und verbleibe mit einem Gruß aus Berlin Rolf-Hubert
Hi Rolf, Am Montag, 27. März 2006 10:33 schrieb Rolf-Hubert Pobloth:
Ein Buchhaltungsprogramm, nur lauffähig auf Windows (Lexware) gibt die Daten als CSV Datei aus. Diese Datei SaldenXX.csv enthält natürlich auch Dezimalzahlen in folgender Darstellung ; 10.255,76 ; EUR ; usw. Wenn in der MySQL Tabelle dieses Feld als DEZIMAL - Feld deklariert wird, dann steht nach dem Datenimport 10.25 im Feld. Grund ist der . (Punkt) nach der 10. Bekanntes Problem bereits aus der Zeit von Cobol Point is Coma . Gibt es eine Möglichkeit unter MySQL die Daten richtig in ein Dezimalfeld einzulesen? Das Feld als Textfeld zu deklarieren ist in diesem Falle leider nicht der gewünschte Weg. Es sollen mit den Werten auch noch Rechenoperationen ausgeführt werden.
sed 's/.//g' <csvfile | sed 's/,/./g' >csvfile-neu oder ein awk script wenn man nicht alle '.' und ',' plätten darf! Gruss Falk
participants (2)
-
Falk Sauer
-
Rolf-Hubert Pobloth