在我的表中有两列。 表结构是:
Combined的数据类型为varchar(50)
,First的数据类型为int
。
ID--Combined -----------First
1---1.2.3.4-------------- null
2---3.8.6.9-------------- null
我想将其转换为
ID---Combined -----------First
1---1.2.3.4-------------- 1
2---3.8.6.9-------------- 3
我写了这行代码
UPDATE dbo.Test
SET dbo.Test.First = CAST(SUBSTRING(T.Combined,1,1) AS INT)
FROM dbo.Test as T
WHERE T.ID = dbo.Test.ID;
但是我的代码提供了错误“The multi-part identifier "dbo.Test.ID" could not be bound.
”
答案 0 :(得分:1)
您不需要此处的更新 - 来自语法。由于您希望First
列与同一行的Combined
列相关,因此只需使用简单的更新语句:
UPDATE dbo.Test
SET dbo.Test.First = CAST(SUBSTRING(dbo.Test.Combined, 1, 1) AS INT)