使用sql查询将string转换为int

如何使用SQL Server 2005上的SQL查询将string转换为整数?

您可以使用CAST或CONVERT :

SELECT CAST(MyVarcharCol AS INT) FROM Table SELECT CONVERT(INT, MyVarcharCol) FROM Table 

另外请注意,当从数字string,即'56.72'为INT时,您可能会遇到SQL错误。

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

为了解决这个问题,只做两个转换如下:

STRING – > NUMERIC – > INT

要么

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

将TableA中的数据复制到TableB时,转换是隐含的,所以你不需要第二次转换(如果你快乐的向下舍入到最近的INT):

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