将包含空值的列中的字符串与 SQL 中的 case 语句连接起来

Concatenating string from columns that include nulls with case statement in TSQL

我正在尝试创建一个字符串,以插入新 table 中的列,该列由另一个 table.

的多个列构成

举个例子:

Source table 
    Value_1 : '10'
    Value_2 : '30'
    Value_3 : '120';

Destination table
    Column A : '10,30,120,';

所以我的代码如下:

INSERT INTO DESTINATION TABLE
    Value_1 + ',' +
    Value_2 + ','+
    Value_3 +',';

这很好用。我的问题是,如果源 table 中的其中一列等于 NULL,那么我的连接字符串结果为 NULL。

Source table
    Value_1 : '10'
    Value_2 : NULL
    Value_3 : '120'

结果

Destination table
    Column A : NULL

如果源 table 中的值之一为 NULL,我希望字符串的该部分仅具有“0”作为值。

换句话说,我想要的输出是:

Column A : '10,0,120,';

有人可以告诉我实现这个的语法吗?

如果相关,我使用的是 MSSQL server 2014。

原因是NULL + Anything = NULL,使用ISNULLCOALESCE函数替换0时值为NULL

isnull(Value_1,0) + ',' +
isnull(Value_2,0) + ','+
isnull(Value_3,0) +','