Sql 如何使用空值连接列?

Sql 如何使用空值连接列?,sql,sql-server,database,join,Sql,Sql Server,Database,Join,你好,请帮帮我。如何使用空值连接3列? SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$]; 结果。 SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$]; 试试这个: SELECT [item],[Prox],[z], COALESCE([item],'')+COALESCE([Prox],'')+COALESCE([z],'

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

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

SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$];
试试这个:

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

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

i、 例如,如果
[item]
NULL
,则
合并([item],“”)
将返回一个空字符串

其他备选方案:

您可以使用以下命令,而不是
合并(ColName.)

  • SQL Server的
    ISNULL(ColName,”)

  • IFNULL(ColName,”)
    用于
    MySQL

  • NVL(ColName,”)
    用于
    Oracle

  • 试试这个:

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

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

    i、 例如,如果
    [item]
    NULL
    ,则
    合并([item],“”)
    将返回一个空字符串

    其他备选方案:

    您可以使用以下命令,而不是
    合并(ColName.)

  • SQL Server的
    ISNULL(ColName,”)

  • IFNULL(ColName,”)
    用于
    MySQL

  • NVL(ColName,”)
    用于
    Oracle


  • 由于将多个字符串与至少一个空值串联会导致
    null
    ,您可以使用
    coalesce
    来解决此问题:

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

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

    由于将多个字符串与至少一个空值串联会导致
    null
    您可以使用
    coalesce
    来解决此问题:

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

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

    在SQL Server 2012中,您可以使用CONCAT函数:

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

    在SQL Server 2012中,您可以使用CONCAT函数:

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

    使用
    COALESCE(列“”)
    函数。您使用的是哪种数据库管理系统?我们猜猜看好吗?SQL Server?使用
    COALESCE(column')
    函数。您使用的是哪种数据库管理系统?我们猜猜看?SQL Server?