我想改变我的表并在其中添加一列“mycolumn”。列值取决于表中的三列。
例如:
ID mycolumn col1 col2 col3
..... ........... ...... ...... ......
1 1111 1 1 1
2 1112 1 1 1
3 1213 1 2 1
4 1224 1 2 2
5 2225 2 2 2
答案 0 :(得分:2)
将列创建为可为空,然后执行此UPDATE:
UPDATE dbo.MyTable
SET mycolumn = CAST(
CAST(col1 AS VARCHAR(5)) +
CAST(col2 AS VARCHAR(5)) +
CAST(col3 AS VARCHAR(5)) +
CAST(ID AS VARCHAR(5)) AS int)
WHERE mycolumn IS NULL
您还可以使用计算列(是否保留):
--ALTER TABLE dbo.MyTable
--DROP COLUMN [MyColumn]
ALTER TABLE dbo.MyTable
ADD [MyColumn] AS
((CONVERT([nvarchar](max),col1,0))+CONVERT([nvarchar](max),col2,0)+CONVERT([nvarchar](max),col3,0)+CONVERT([nvarchar](max),[ID],0)) PERSISTED