Ich mache eine SELECT INTO OUTFILE
und es zeigt ein "\ N" für jeden NULL
Wert. Gibt es eine Möglichkeit für mich, es stattdessen einfach leer zu machen?Entfernen Sie " N" s, wenn Sie SELECT IN OUTFILE
Ich bin auf MySQL.
Ich mache eine SELECT INTO OUTFILE
und es zeigt ein "\ N" für jeden NULL
Wert. Gibt es eine Möglichkeit für mich, es stattdessen einfach leer zu machen?Entfernen Sie " N" s, wenn Sie SELECT IN OUTFILE
Ich bin auf MySQL.
Sie die COALESCE
Funktion so etwas wie diese verwenden:
COALESCE(yourfield, '')
Gute Frage, und heute so aktuell wie es im Jahr 2011 ich eine gespeicherte Prozedur für diesen Einsatz war, wich nimmt den Namen einer Tabelle als Streit. Anschließend konvertiert es alle Nullwerte in leere Strings (''), wobei eine vorbereitete Anweisung und keine Cursor verwendet werden, da Cursor so nicht-SQL sind. Ich habe mit einigen 200 Spalten mit einem Tisch getestet und eine daraus resultierende prepaired Aussage, die lange über 15.000 Zeichen ist:
CREATE DEFINER=`root`@`localhost` PROCEDURE `ExportFixNull`(
in tblname tinytext)
BEGIN
set @string=concat(
"Update ",@tblname," set ",
(
select group_concat(column_name,"=ifnull(",column_name,",'')")
from information_schema.columns
where [email protected]
)
,";"
);
prepare s1 from @string;
execute s1;
drop prepare s1;
Im Haupt SQL-Datei gibt eine Aussage
SET @@group_concat_max_len = 60000;
das könnte entscheidend sein.
Mehr Details (auf Niederländisch): http://wiki.devliegendebrigade.nl/SELECT_INTO_OUTFILE_%28MySQL%29
Grüße, Jeroen Strompf