如何使用查询将字符串转换为int(sqlserver)

时间:2015-10-20 17:14:14

标签: sql-server

我正在尝试更新桌面上的几行,而我在转换方面遇到了问题,这是我的查询:

update Table1
set [Printed Notices] = '1,677'
where [Date ID] = '2013-05-20'

到目前为止,这是我的错误: 转换varchar值时转换失败' 1,677'数据类型int。

请帮助:(谢谢!

2 个答案:

答案 0 :(得分:0)

您正在使用引号将int转换为字符串。最好的情况是,您将依靠数据库引擎进行某种静默类型转换,这是您无法获得的。所以只需删除引号即可。

update Table1
set [Printed Notices] = 1677
where [Date ID] = '2013-05-20'

答案 1 :(得分:0)

在尝试将逗号用作整数之前,必须从数字文本字符串中获取逗号。这个t-sql命令可以做到这一点。

CAST(REPLACE('1,667', ',', '') AS INT)

所以,你可以这样做....

... set [col] = CAST(REPLACE('1,667', ',', '') AS INT) ...