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

时间:2009-04-08 07:09:01

标签: sql sql-server-2005

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

4 个答案:

答案 0 :(得分:248)

您可以使用CAST or CONVERT

SELECT CAST(MyVarcharCol AS INT) FROM Table

SELECT CONVERT(INT, MyVarcharCol) FROM Table

答案 1 :(得分:10)

另请注意,从数字字符串即'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

答案 2 :(得分:3)

从SQL Server 2012开始,您可以使用TRY_PARSETRY_CONVERT

SELECT TRY_PARSE(MyVarcharCol as int)

SELECT TRY_CONVERT(int, MyVarcharCol)

答案 3 :(得分:-1)

尝试一下它在雅典娜为我工作的那个 演员(MyVarcharCol为整数)