基于SQL Server中的另一列创建新列

时间:2017-05-11 22:58:02

标签: sql-server

快速提问 - 我想在SQL Server中创建另一个列,例如:

原始表

Type         Amount     LocNum
Chocolate    15         WC-10202-01
Banana       10         WC-35209-22
Vanilla      5          WC-15815-15

理想表

Type         Amount     LocNum          LocNum2
Chocolate    15         WC-10202-01     WC-10202
Banana       10         WC-35209-22     WC-35209
Vanilla      5          WC-15815-15     WC-15815

3 个答案:

答案 0 :(得分:1)

如果确实需要,可以创建computed column

ALTER TABLE yourTable ADD LocNum2 AS ( <your calculation here> );

但是,除非您因某些原因需要对此计算编制索引,否则我建议您将其添加为select输出的一部分。

答案 1 :(得分:0)

就这么简单:

{{1}}

答案 2 :(得分:0)

您可以使用replace和charindex执行此操作,如下所示:

select [Type], [Amount], LocNum, LocNum2 = replace(LocNum,right(LocNum, charindex('-',LocNum,charindex('-',LocNum,1))),'') 
    from yourtable