我知道我只是在想这里的逻辑错误,但我如何实现以下目标:
update @table
set column1 = case
when column1 <> ''
then rtrim(column1) + ', ' + rtrim(column2)--if statement here
else rtrim(column2)
end
from @othertable
我基本上想检查rtrim(第2列)='value',然后用其他东西替换它。我理解这是在switch语句中,所以如何实现呢?
答案 0 :(得分:1)
update @table
set column1 = case
when column1 <> ''
then rtrim(column1) + ', ' +
case
when column2 = 'value'
then rtrim(column2)
else ...
end
else rtrim(column2)
end
from @othertable
答案 1 :(得分:0)
可能你不需要任何开关和if子句:
update @table set column1 = rtrim(isnull(nullif(column1,'') + ', ', '')) + rtrim(column2)
答案 2 :(得分:0)