Mysql Concat中的Coalesce和IsNULL不使用NULL valies
我试图用几个字段创建一个字符串,其中一些字段可以为NULL。如果我这样做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
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是的,我刚发现你很难:)谢谢