Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Concat中的Coalesce和IsNULL不使用NULL valies_Mysql_Coalesce_Isnull_Ifnull - Fatal编程技术网

Mysql Concat中的Coalesce和IsNULL不使用NULL valies

Mysql Concat中的Coalesce和IsNULL不使用NULL valies,mysql,coalesce,isnull,ifnull,Mysql,Coalesce,Isnull,Ifnull,我试图用几个字段创建一个字符串,其中一些字段可以为NULL。如果我这样做 Select Concat(FieldA,IsNULL(FieldB,''),FIeldC) from Table 我明白了 1582-调用本机函数时参数计数不正确 “IsNULL” 如果我这样做 Select Concat(FieldA,Coalesce(FieldB,''),FIeldC) from Table 如果FieldB为空,我会得到空记录,我甚至尝试过: Select Concat(FieldA,IFN

我试图用几个字段创建一个字符串,其中一些字段可以为NULL。如果我这样做

Select Concat(FieldA,IsNULL(FieldB,''),FIeldC) from Table
我明白了

1582-调用本机函数时参数计数不正确 “IsNULL”

如果我这样做

Select Concat(FieldA,Coalesce(FieldB,''),FIeldC) from Table
如果FieldB为空,我会得到空记录,我甚至尝试过:

 Select Concat(FieldA,IFNULL(FieldB,''),FIeldC) from Table
又有空记录了


也许我误解了,但我认为关键是要在空记录上返回记录值或空值,以避免空返回

在某些数据库中,空字符串被视为空字符串。尝试将“”更改为“test”,看看会发生什么。在MySql中,ISNULL()只接受1个参数:如果最近2个查询返回null,则还检查FieldA和FieldC列是否为null。@谢谢,但是现在它返回null记录而不是错误消息,其中FIeldB为NULLConcat()仅在其任何参数为null时返回null。所以在其他列中必须有空字符串。@forpas是的,我刚发现你很难:)谢谢在一些数据库中,空字符串被认为是空的。尝试将“”更改为“test”,看看会发生什么。在MySql中,ISNULL()只接受1个参数:如果最近2个查询返回null,则还检查FieldA和FieldC列是否为null。@谢谢,但是现在它返回null记录而不是错误消息,其中FIeldB为NULLConcat()仅在其任何参数为null时返回null。所以你在其他列中一定有空值。@forpas是的,我刚发现你很难:)谢谢