SQL 查询以在 table 中添加新列,条件为

SQL query to ADD new column in table with condition

我想添加新列,条件是第一列的值是 diff。然后是第二列,然后只有它会随着条件而改变,否则值保持不变。

上图将更有效地阐明我的要求。

以下查询仅更改列,但请指导如何在同一列中应用条件。

ALTER TABLE Wealth_CFY ADD Type3 AS (Type1 + ' ' + Type2)

在连接之前使用 case 语句检查值是否相同。

ALTER TABLE Wealth_CFY
  ADD Type3 AS (CASE WHEN COALESCE(Type1, '') <> COALESCE(Type2, '') THEN Type1 + ' ' + Type2 ELSE Type1 END) PERSISTED

COALESCE 用于处理 NULL 值。如果 Type1Type2 都不接受 NULL 值,则删除 COALESCE 函数

 ALTER TABLE Wealth_CFY
  ADD Type3 AS (CASE WHEN COALESCE(Type1, '') <> COALESCE(Type2, '') THEN 
   Type1 + ' ' + Type2 ELSE Type1 END) PERSISTED