我正在尝试创建一个字符串,以插入到新表中的列中,该列是从另一个表中的多个列构建的。
举个例子:
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 +',';
这很有效。我的问题是,如果源表中的一列等于NULL,那么我的串联字符串结果为NULL。
Source table
Value_1 : '10'
Value_2 : NULL
Value_3 : '120'
结果
Destination table
Column A : NULL
如果源表中的一个值为NULL,我希望字符串的那一部分只有'0'作为值。
换句话说,我想要的输出是:
Column A : '10,0,120,';
有人能告诉我实现此目的的语法吗?
如果相关,我正在使用MSSQL server 2014。
答案 0 :(得分:0)
原因是NULL
+ Anything
= NULL
,使用ISNULL
或COALESCE
函数替换0
当值为{{1时}}
NULL