如何使用null值连接列?

时间:2014-05-04 17:47:17

标签: sql sql-server database join

嗨,请帮帮我。如何使用空值连接3列?

SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$];

结果。

3 个答案:

答案 0 :(得分:2)

试试这个:

SELECT [item],[Prox],[z], COALESCE([item],'')+COALESCE([Prox],'')+COALESCE([z],'') as result 
FROM [FIELD$];

<强>解释

COALESCE按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值。

即如果[item]NULL,那么COALESCE([item],'')将返回一个空字符串。

其他替代方案:

而不是COALESCE(ColName,''),您可以使用:

    {li>

    ISNULL(ColName,'') SQL Server

    {li>

    IFNULL(ColName,'') MySQL

    {li>

    NVL(ColName,'') Oracle

答案 1 :(得分:1)

由于将多个字符串与至少一个空值连接在一起导致NULL,您可以使用coalesce来解决此问题:

SELECT
    [item],
    [Prox],
    [z],
    coalesce([item], '') + coalesce([Prox], '') + coalesce([z], '') as result
FROM
    [FIELD$];

coalesce是ANSI标准,几乎在所有合理的数据库中都可用。

答案 2 :(得分:1)

在SQL Server 2012中,您可以使用CONCAT功能:

SELECT [item],[Prox],[z], concat([item],[Prox],[z]) as result FROM [FIELD$]; 
相关问题