我想添加新列,条件是如果第1列的值是diff。然后是第二列,只有它会随条件改变,否则值保持不变。
上图将更有效地阐明我的要求。
以下查询仅更改列,但请指导如何应用条件。
ALTER TABLE Wealth_CFY ADD Type3 AS (Type1 + ' ' + Type2)
答案 0 :(得分:2)
在连接之前使用case
语句检查值是否相同。
ALTER TABLE Wealth_CFY
ADD Type3 AS (CASE WHEN COALESCE(Type1, '') <> COALESCE(Type2, '') THEN Type1 + ' ' + Type2 ELSE Type1 END) PERSISTED
COALESCE
用于处理NULL
值。如果Type1
和Type2
都不接受NULL
值,请删除COALESCE
函数
答案 1 :(得分:1)
ALTER TABLE Wealth_CFY
ADD Type3 AS (CASE WHEN COALESCE(Type1, '') <> COALESCE(Type2, '') THEN
Type1 + ' ' + Type2 ELSE Type1 END) PERSISTED