2016-07-24 93 views
3

在我的表格中有两列。 表结构为:更新同一个表格的一列中的多个列值

组合的数据类型为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.'

+1

语法是错误的。 – 1000111

回答

1

你不这里需要更新语法。由于您希望您的First列涉及到同一行的Combined列,一个简单的更新语句就可以了:

UPDATE dbo.Test 
SET dbo.Test.First = CAST(SUBSTRING(dbo.Test.Combined, 1, 1) AS INT) 
相关问题