Usuário com melhor resposta
Inserir coluna tipo varchar em coluna int

Pergunta
-
Olá boa tarde!!
Como posso inserir dados de uma tabela em outra sendo que
gostaria de passar uma coluna de uma tabela do tipo varchar para outra coluna de outra tabela mas do tipo int
tentei inserir e ele emitiu a msg:
Msg 248, Level 16, State 1, Line 1
A conversão do valor varchar '00000000124542' estourou uma coluna de inteiros.Obrigado!!!
Respostas
-
Brown, seu problema é outro: certamente existem valores na sua coluna que não são do tipo inteiro, logo, ao tentar convertê-la, o erro mencionado acontece.
Exemplo:
Select Convert(bigint, 'A000123')
Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to bigint.
Tente achar os registros que se encontram nesta situação, para que possa fazer os devidos acertos. A função IsNumeric poderá lhe ajudar:
Select * From SuaTabela Where IsNumeric(SeuCampo) <> 1
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Marcado como Resposta Brown11 sexta-feira, 29 de julho de 2011 17:30
-
Brown,
Apenas se voce remover todos os caracteres não numericos, o que não creio que seja possivel pelo fato de alterar seus dados....
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCTS SQL Server 2008
Developer Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Marcado como Resposta Brown11 sexta-feira, 29 de julho de 2011 17:31
-
Brown,
Aparentemente vc esta com 2 problemas inserindo valores que estoura o INT e tentativa de inserir texto em INT, bc não consegue inserir texto em númerico... o que vc pode fazer é inserir apenas os dados numéricos usando o IsNumeric (veja exemplo do Roberson)
Att.
Marcelo FernandesMCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Brown11 sexta-feira, 29 de julho de 2011 17:31
-
Todas as Respostas
-
Brown,
No seu select da colna varchar, adicione isso:
CAST(Campo AS INT)
Os 0 as esquerda serao removidos.
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCTS SQL Server 2008 Developer Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com -
Brown
acredito que o seu problema é outro... o varcahr para o int funciona, o SQL vai remover o 0 a esquerda.. o que pode esta ocorrendo é que vc esta tentando inserir algum valor acima do limite do dataytpe INT (2.147.483.647) ou (-2.147.483.647)
declare @tbTeste table (campo int) declare @variavel varchar(15) Set @variavel ='01000000124542' --erro --set @variavel ='00000000124542' --funciona insert into @tbTeste values(@variavel) select * from @tbTeste
Att.
Marcelo FernandesMCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Sugerido como Resposta Fabrizzio CaputoModerator quinta-feira, 28 de julho de 2011 19:07
-
-
-
-
-
Brown, seu problema é outro: certamente existem valores na sua coluna que não são do tipo inteiro, logo, ao tentar convertê-la, o erro mencionado acontece.
Exemplo:
Select Convert(bigint, 'A000123')
Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to bigint.
Tente achar os registros que se encontram nesta situação, para que possa fazer os devidos acertos. A função IsNumeric poderá lhe ajudar:
Select * From SuaTabela Where IsNumeric(SeuCampo) <> 1
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Marcado como Resposta Brown11 sexta-feira, 29 de julho de 2011 17:30
-
-
Brown,
Apenas se voce remover todos os caracteres não numericos, o que não creio que seja possivel pelo fato de alterar seus dados....
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCTS SQL Server 2008
Developer Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Marcado como Resposta Brown11 sexta-feira, 29 de julho de 2011 17:31
-
Brown,
Aparentemente vc esta com 2 problemas inserindo valores que estoura o INT e tentativa de inserir texto em INT, bc não consegue inserir texto em númerico... o que vc pode fazer é inserir apenas os dados numéricos usando o IsNumeric (veja exemplo do Roberson)
Att.
Marcelo FernandesMCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Brown11 sexta-feira, 29 de julho de 2011 17:31
-