PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "\n" Null nicht im Export



JCB
06.11.2006, 13:37
Moin,

beim Export meiner Tabelle in ein tab-delimited Format erhalte ich bei Null Werten immer das Zeichen '\n' uín dem Feld. Muss ich die nachträglich wegscripten, oder gibt es dafür einen Befehl damit MySQL das lässt?

Danke für den Tipp,

JCB

Peregrine
06.11.2006, 14:14
Tag auch. Wie lautet dein export-Befehl und kannst du uns 'ne Beispielausgabe liefern? Hört sich seltsam an :)

JCB
06.11.2006, 14:36
Hi,
also


SELECT UID , C_Name1 , C_Name2 , C_Address1 , C_Address2 , C_PostCode , C_PostCode2 , C_City , C_State , C_Country , C_Phone , C_Fax , C_NationalRegisterNumber , C_NationalRegisterType , C_Revenue , C_MustMatch INTO OUTFILE 'n_cust.txt' FIELDS terminated by '\t' FROM nordic_out2;

ergibt


0000000004 HTIT GZ Office * # \N Guangzhou # CN \N \N \N \N \N
0000000005 Payable for expense * # \N Shanghai # CN \N \N \N \N \N
0000000006 Payable-others * # \N Shanghai # CN \N \N \N \N \N
0000000007 Freight(C) * # \N Shanghai # CN \N \N \N \N \N
0000000008 Service Fee * # \N Shanghai # CN \N \N \N \N \N
0000000009 Henkel Loctite(Yan tai) Limited * # \N Yantai # CN \N \N \N \N \N


und mich(oder den Endanwender) stören die "\N" in der daraus resultierenden Excel-Tabelle.

Die könnte ich zwar mit sed wegscripten, dachte mit nur daß es einen Schalter bei mysql gibt, der die auch rauslöschen oder "nicht" ausgeben kann .

Danke,

JCB

Peregrine
06.11.2006, 15:03
Bist du di0r sicher, dass das Feld wirklich "NULL" ist oder ob vielleicht (weiß ja nicht wie die Daten in die Felder kamen) die User ein CARRIAGE RETURN (somit ein NEWLINE) in das Feld reingebaut haben. Das beim Export statt "NULL" ein "\N" ausgegeben wird scheint mir wirklich sehr sehr schräg :-)
Kannst du mal die "SELECT" Ausgabe der Tabelle angeben?! :D

JCB
06.11.2006, 15:09
Da sind wirklich NULL werte drin:

vollständige Textfelder UID C_Name1 C_Name2 C_Address1 C_Address2 C_PostCode C_PostCode2 C_City C_State C_Country C_Phone C_Fax C_NationalRegisterNumber C_NationalRegisterType C_Revenue C_MustMatch
0000000031 KREJA# JASMINA ARNOLDA TOVORNIKA 6 2000 NULL MARIBOR # SI NULL NULL NULL NULL NULL
0000000032 BRATU#EK DANICA GAJ©TOVA 6 2000 NULL MARIBOR # SI NULL NULL NULL NULL NULL
0000000033 KURE MARIJA SELNI©KA 32 2342 NULL RU©E # SI NULL NULL NULL NULL NULL
0000000034 NOVAK IRENA OREHOVA CESTA 18 2312 NULL OREHOVA VAS # SI NULL NULL NULL NULL NULL
0000000035 METLI#AR SRE#KO LOPARSKA CESTA 44 2319 NULL POLJÈANE # SI NULL NULL NULL NULL NULL
0000000036 SATLER ALOJZ 2000 NULL MARIBOR # SI NULL NULL NULL NULL NULL
0000000037 JAUK IVAN Borova vas 28 2000 NULL Maribor # SI NULL NULL NULL NULL NULL
0000000038 FERK GREGOR GAJ©TOVA ULICA 5 2000 NULL MARIBOR # SI NULL NULL NULL NULL NULL
0000000039 LESKOVAR MIROSLAV ©LAJMERJEVA 2 2000 NULL MARIBOR # SI NULL NULL NULL NULL NULL
0000000040 KOVA#I# ZDENKO TR©IÈEVA 15 2000 NULL MARIBOR # SI NULL NULL NULL NULL NULL

Ich sollte vieleicht noch meine Daten dazuschreiben:
mysql Version
Your MySQL connection id is 282 to server version: 5.0.21
DBEngine MyISAM

Peregrine
06.11.2006, 15:49
Hier gibt es Infos bezüglich \N
http://dev.mysql.com/doc/refman/5.0/en/null-values.html

Weiteres unter
http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Leider hab' ich nicht die Zeit das im Moment durchzulesen und zu verdauen, ich hoffe es hilft dir weiter...

JCB
06.11.2006, 16:43
Danke Marcus,

leider hab ich da schonmal gegraben. Aber bislang nichts verwertbares gefunden. Sieht so aus als würde mysql nur bei fixed lenght so functionieren. Oder man müsste jedes Feld eine If... Abfrage einbauen :( .

Danke trotzdem für deine Hilfe. Werde mich heute abend nochmal an das Thema wagen und die Doku durchlesen.

Gruß,

Jens

Peregrine
10.11.2006, 11:52
Danke Marcus,

leider hab ich da schonmal gegraben. Aber bislang nichts verwertbares gefunden. Sieht so aus als würde mysql nur bei fixed lenght so functionieren. Oder man müsste jedes Feld eine If... Abfrage einbauen :( .

Danke trotzdem für deine Hilfe. Werde mich heute abend nochmal an das Thema wagen und die Doku durchlesen.

Gruß,

Jens

Gibt es schon Neuigkeiten, Jens? :)

JCB
10.11.2006, 15:20
Hi Marcus,

ne leider nicht. Ich habe da nichts finden können, was die NULL oder /n als in einen null basierten String umwandelt. Ich habe noch nicht in phpMyAdmin geschaut, weil dirt geht es ja. Da kann man genau das abstellen. Ich denke da bin ich noch zu frisch in mysql.

Warscheinlich dann doch eine Funktion hinterlegen, die genau das macht. Wed mal zu Hause noch mal an das Thema gehen.

Schönes WE,

Jens

Peregrine
20.11.2006, 14:56
Sourcecode von phpMyAdmin durchkucken ;)
Viel Erfolg noch...