我在做一个 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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top