我有2列的表具有相同的名称case语句问题
ValueA ValueB ValueA
12 Yes
No NULL
20 Yes
0 No 0
3 No 3
逻辑是
- 时
ValueA
为''
- 和
ValueB
是'No'
- 然后
ValueA
在第二列应为''
(不是NULL
)
我写了这个case语句,但它给了我NULL
,而不是''
Case when ValueB ='No' then convert(varchar(25), ValueA)
when ValueB ='No' and ValueA ='' then ''
else ''
end
即使我写
Case when ValueB
when 'No' then convert(varchar(25), ValueA)
else ''
end
两个上面的代码给了我同样的结果
哪有我在第二个ValueA列中替换或删除NULL
和''
?
,我是真的怀疑你有2列具有相同名称在同一个表 –
这是一个畸形的描述 - ValueA的第二个实例实际上是OP试图实现的派生输出。 – MatBailie