Converter um texto para int usando a pesquisa sql
Como converter uma cadeia de caracteres para um inteiro usando a consulta SQL no servidor sql 2005?
119
3 answers
Pode utilizar moldado ou convertido:
SELECT CAST(MyVarcharCol AS INT) FROM Table
SELECT CONVERT(INT, MyVarcharCol) FROM Table
221
Author: CMS, 2009-04-08 07:13:15
Também esteja ciente de que, ao converter de uma cadeia numérica ie '56.72'
para INT, poderá deparar-se com um erro de SQL.
Conversion failed when converting the varchar value '56.72' to data type int.
Para contornar isto, faça dois convertidos da seguinte forma:
STRING - > NUMERIC - > INT
Ou
SELECT CAST(CAST (MyVarcharCol AS NUMERIC(19,4)) AS INT)
Ao copiar dados de TableA para TableB, a conversão está implícita, por isso não precisa do segundo converter (se estiver satisfeito arredondando para o INT mais próximo):
INSERT INTO TableB (MyIntCol)
SELECT CAST(MyVarcharCol AS NUMERIC(19,4)) as [MyIntCol]
FROM TableA
9
Author: Steven de Salas, 2015-04-08 07:50:19
A partir do SQL Server 2012, poderá usar TRY_PARSE ou TRY_CONVERT .
SELECT TRY_PARSE(MyVarcharCol as int)
SELECT TRY_CONVERT(int, MyVarcharCol)
0
Author: Örjan Jämte, 2018-09-27 10:35:32