outfileに選択するときに「 n」sを削除します
-
08-10-2019 - |
質問
私はしています SELECT INTO OUTFILE
そしてそれはすべてのために「 n」を示しています NULL
価値。代わりにそれを空白にする方法はありますか?
私はmysqlにいます。
解決
使用できます COALESCE
このような機能:
COALESCE(yourfield, '')
他のヒント
良い質問、そして2011年と同じように今日関連する。私はこれにストアドプロシージャを使用して、テーブルの名前を議論として取得します。その後、すべてのnull値を空の文字列( '')に変換し、準備されたステートメントとカーソルを使用して、カーソルの場合はSQLではありません。約200列のテーブルと、長さ約15,000文字の結果として生じる準備されたステートメントでテストしました。
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 table_name=@tblname
)
,";"
);
prepare s1 from @string;
execute s1;
drop prepare s1;
メインのSQLファイルには、声明があります
SET @@group_concat_max_len = 60000;
それは非常に重要かもしれません。
詳細(オランダ語): http://wiki.devliegendebrigade.nl/select_into_outfile_%28mysql%29
よろしく、Jeroen Strompf
所属していません StackOverflow