¿Cómo convertir una cadena a entero usando la consulta SQL en SQL Server 2005?
sql
sql-server-2005
Rahul Vyas
fuente
fuente

select CASE WHEN ISNUMERIC('x') = 1 THEN CAST('x' AS INT) ELSE 0 ENDIsNumeric()puede producir algunos resultados perversos. Devolverá VERDADERO para la cadena "-.", Que seguirá causando un error cuando intente convertirlo en un número.También tenga en cuenta que al convertir una cadena numérica, es decir,
'56.72'a INT, puede encontrar un error de SQL.Para evitar esto, solo haga dos conversiones de la siguiente manera:
STRING -> NUMÉRICO -> INT
o
Al copiar datos de TableA a TableB, la conversión es implícita, por lo que no necesita la segunda conversión (si está satisfecho redondeando al INT más cercano):
fuente
A partir de SQL Server 2012, puede usar TRY_PARSE o TRY_CONVERT .
fuente
Prueba este, me funcionó en Athena:
fuente