将字符串转换为整数并更新到其他字段

Convert string to integer and update into other field

我有一个 table 具有以下结构

[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,第十二区是1120 所以计算结果是1120 / 10 = 112 -100 = 12 这就是想要的结果。

如有任何帮助,我们将不胜感激。

强尼

试试这个查询

UPDATE [MyTestData].[dbo].[Addresses]
   SET [cityZipID] = (Convert(Int,[zip])/10) -100
 WHERE [city] = 'Wien'