Como converter uma string em número inteiro usando a consulta SQL no SQL Server 2005?
sql
sql-server-2005
Rahul Vyas
fonte
fonte
select CASE WHEN ISNUMERIC('x') = 1 THEN CAST('x' AS INT) ELSE 0 END
IsNumeric()
pode produzir resultados perversos. Ele retornará TRUE para a string "-.", Que ainda causará um erro ao tentar convertê-la em um número.Lembre-se também de que, ao converter de seqüência numérica, ou seja,
'56.72'
para INT, você pode encontrar um erro SQL.Para contornar isso, faça dois conversos da seguinte maneira:
STRING -> NUMÉRICO -> INT
ou
Ao copiar dados da Tabela A para a Tabela B, a conversão está implícita, portanto você não precisa da segunda conversão (se desejar arredondar para a INT mais próxima):
fonte
A partir do SQL Server 2012, você pode usar TRY_PARSE ou TRY_CONVERT .
fonte
Experimente este, funcionou para mim em Athena:
fonte