题
我在做一个 SELECT INTO OUTFILE
并且它显示一个“ n” NULL
价值。我有什么办法使它成为空白吗?
我在mysql上。
解决方案
您可以使用 COALESCE
像这样的功能:
COALESCE(yourfield, '')
其他提示
好的问题,今天和2011年一样重要。我为此使用了一个存储程序,Wich以表格为参数。随后,它使用预先播放的语句和没有光标将所有空价值转换为空字符串(''),因为光标是如此非SQL。我已经用一张三列的表进行了测试,并且由此产生的预留语句长约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