我有一个具有以下结构的表
[zip] = <zip, nvarchar(4),>
[cityZipID] = <cityZipID, int,>
在zip
列中有一个包含4位数的字符串,这是一个介于1000和1239之间的数字,以字符串形式存储。
出于某种原因,我需要计算其他值,因此我需要将字符串转换为整数并将其存储到名为cityZipID
的其他列中。我想使用SQL Server Management Studio执行此操作,因为它必须转换大约32000行,因此我不能轻易地手动完成。
我尝试了以下操作,但在尝试执行时只收到错误消息
UPDATE [MyTestData].[dbo].[Addresses]
SET [cityZipID] = ((int)[zip])/10 -100
WHERE [city] = 'Wien'
cityZipID
的列目前为空,应该填充区域的数字,例如第一区的plzl是1010,第12区是1120所以计算将导致1120/10 = 112 -100 = 12,这将是想要的结果。
任何帮助都将不胜感激。
强尼
答案 0 :(得分:1)
尝试此查询
UPDATE [MyTestData].[dbo].[Addresses]
SET [cityZipID] = (Convert(Int,[zip])/10) -100
WHERE [city] = 'Wien'