使用sql查询将字符串转换为int
答
你可以使用CAST or CONVERT:
SELECT CAST(MyVarcharCol AS INT) FROM Table
SELECT CONVERT(INT, MyVarcharCol) FROM Table
答
另外要注意,从数字串转换即'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
当其中一个字段是非数字时,如何捕获/防止发生异常?我会预计它将转换为0. – Chloe 2013-06-13 17:47:04