Usuário com melhor resposta
Convertendo numerico para varchar

Pergunta
-
Olá!
Tenho uma planilha Excel que preciso importar para uma tabela no SQL, nesta planilha tem um campo EAN que está formatado como numérico, porém não posso deixar esse campo numérico no SQL por conta de compatibilidade... Meu problema é que ao converter esse campo para varchar ele fica assim.. De: 7892110209083 para 7.89211e+012
Já tentei algumas coisas, mas nada deu certo!
Grato,
Rogerio Borsoi
Rogerio Borsoi
Respostas
-
Tente assim:
if object_id('tempdb..#teste') is not null drop table #teste create table #teste (id int identity, Ean1 varchar(15), Ean2 varchar(15)) insert into #teste (ean1, ean2) select LTRIM(Str(EAN, 15, 0)), LTRIM(Str(EAN, 15, 0)) FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=E:\Temp\Estoque.xlsb', [Estoques$]) as Excel
"A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski
- Marcado como Resposta Robson William Silva terça-feira, 31 de janeiro de 2017 15:44
Todas as Respostas
-
Qual tecnologia voce esta usando para importar? SSIS?
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
Olá William, estou utilizando o OPENROWSET... Veja nesse exemplo:
if object_id('tempdb..#teste') is not null drop table #teste create table #teste (id int identity, Ean1 varchar(15), Ean2 varchar(15)) insert into #teste (ean1, ean2) select cast([EAN] as varchar), convert(varchar(15), [EAN]) FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=E:\Temp\Estoque.xlsb', [Estoques$]) as Excel
Os dois casos ficam assim:
Rogerio Borsoi
-
Tente assim:
if object_id('tempdb..#teste') is not null drop table #teste create table #teste (id int identity, Ean1 varchar(15), Ean2 varchar(15)) insert into #teste (ean1, ean2) select LTRIM(Str(EAN, 15, 0)), LTRIM(Str(EAN, 15, 0)) FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=E:\Temp\Estoque.xlsb', [Estoques$]) as Excel
"A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski
- Marcado como Resposta Robson William Silva terça-feira, 31 de janeiro de 2017 15:44