使用sql查询将字符串转换为int

问题描述:

如何使用SQL Server 2005上的SQL查询将字符串转换为整数?使用sql查询将字符串转换为int

你可以使用CAST or CONVERT

SELECT CAST(MyVarcharCol AS INT) FROM Table 

SELECT CONVERT(INT, MyVarcharCol) FROM Table 
+3

当其中一个字段是非数字时,如何捕获/防止发生异常?我会预计它将转换为0. – Chloe 2013-06-13 17:47:04

另外要注意,从数字串转换即'56.72'时INT你可能遇到了一个SQL错误。

Conversion failed when converting the varchar value '56.72' to data type int. 

要解决这个问题只需要做两个转换如下:

STRING - >数字 - > INT

SELECT CAST(CAST (MyVarcharCol AS NUMERIC(19,4)) AS INT) 

当从表A将数据复制到表B中,转换是隐含的,所以你不需要第二次转换(如果你快乐下舍到最近的INT):

INSERT INTO TableB (MyIntCol) 
SELECT CAST(MyVarcharCol AS NUMERIC(19,4)) as [MyIntCol] 
FROM TableA