Como converter uma string para número inteiro usando a consulta SQL Server 2005?
Esteja ciente também que ao converter de uma string numérica ie '56.72'
para INT você pode encontrar um erro SQL.
Conversion failed when converting the varchar value '56.72' to data type int.
Para contornar isto, basta fazer duas conversões como se segue:
STRING -> NUMÉRICO -> INT
ou
SELECT CAST(CAST (MyVarcharCol AS NUMERIC(19,4)) AS INT)
Ao copiar dados da TabelaA para a TabelaB, a conversão está implícita, portanto você não precisa do segundo conversor (se você estiver feliz em arredondar para baixo para a INT mais próxima):
INSERT INTO TableB (MyIntCol)
SELECT CAST(MyVarcharCol AS NUMERIC(19,4)) as [MyIntCol]
FROM TableA
A partir do SQL Server 2012, você pode usar TRY_PARSE ou TRY_CONVERT.
SELECT TRY_PARSE(MyVarcharCol as int)
SELECT TRY_CONVERT(int, MyVarcharCol)