2

我试图在 SQL 中创建一个计算列。我有以下场景。

假设我有 A、B、C 列,并且正在创建新的 D 列,该列应包含 A、B、C 列中的值,以逗号分隔

示例(预期输出)

A  B  C     D  
1  1  1   1,1,1
2      2   2,2

我尝试了下面的代码

Coalesce(A,'')+','+Coalesce(B,'')+','+Coalesce(C,'')

但是我添加了额外的逗号,因为我没有检查 NULL

xample(my output)

A  B  C     D  
1  1  1   1,1,1
2     2   2,,2

我错过了什么?实现这一点的最佳方法是什么?

4

1 回答 1

3

包含 NULL 的操作将返回 NULL,因此请尝试以下操作:

Coalesce(A+',','')+Coalesce(B+',','')+Coalesce(C,'')
于 2013-05-30T12:00:36.427 回答