Usuário com melhor resposta
Ajuda com SQLCMD

Pergunta
-
Boa tarde,
Mais uma vez me socorro dos amigos para uma questão.
Realizo a geração de um arquivo através do script abaixo.
A geração ocorre perfeitamente, o problema que temos é que existem campos varchar que contem apenas números e alguns com zeros a esquerda.
Na geração, quando abrimos o arquivo, o Excel já trata estes campos e acaba retirando os zeros a esquerda.
A dúvida é, existe alguma forma que isto possa ser tratado já na geração do arquivo?
DECLARE @COMANDO NVARCHAR(4000) = ''
SET @COMANDO = 'sqlcmd -d CorporeRM -q "SET NOCOUNT ON SELECT * FROM NTEGRACAO" -s ";" -W -o "C:\Gerar_Arquivo\integracao.csv" -X ' EXEC master..xp_cmdshell @COMANDO;
Desde já agradeço,
Respostas
-
Bom dia,
Você pode alterar a sua query para converter esta coluna para um tipo de dados numérico, como por exemplo o int.
https://docs.microsoft.com/en-us/sql/t-sql/functions/try-cast-transact-sql
https://docs.microsoft.com/en-us/sql/t-sql/functions/try-convert-transact-sql
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 13:46
-
Boa tarde Daniel,
Sugiro que você faça a geração do arquivo da forma que está fazendo.
E depois abra o arquivo CSV com um bloco de nota para ver se gerou com o '0' a esquerda.. Se gerou...
Abra um Excel em branco > Clique na coluna que tem essa condição com o botão direito e altere sua Propriedades para Texto.
Copie o CSV e cole dentro do Excel... Depois utilize o botão Texto para Coluna, escolha Delimitado, e Depois escolha Ponto e Virgula como Delimitadores.
E ai irá gerar para colunas e na coluna ficará como texto...
- Sugerido como Resposta Carlos Henrique Quadrado quarta-feira, 23 de agosto de 2017 17:45
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 13:46
-
Olá Daniel,
veja se o conteúdo deste link te atende.
https://raresql.com/2013/05/01/sql-server-omitted-leading-zeros-in-excel/
Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 23 de agosto de 2017 23:42
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 13:45
Todas as Respostas
-
Boa tarde Daniel,
Sugiro que você faça a geração do arquivo da forma que está fazendo.
E depois abra o arquivo CSV com um bloco de nota para ver se gerou com o '0' a esquerda.. Se gerou...
Abra um Excel em branco > Clique na coluna que tem essa condição com o botão direito e altere sua Propriedades para Texto.
Copie o CSV e cole dentro do Excel... Depois utilize o botão Texto para Coluna, escolha Delimitado, e Depois escolha Ponto e Virgula como Delimitadores.
E ai irá gerar para colunas e na coluna ficará como texto...
- Sugerido como Resposta Carlos Henrique Quadrado quarta-feira, 23 de agosto de 2017 17:45
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 13:46
-
Bom dia,
Você pode alterar a sua query para converter esta coluna para um tipo de dados numérico, como por exemplo o int.
https://docs.microsoft.com/en-us/sql/t-sql/functions/try-cast-transact-sql
https://docs.microsoft.com/en-us/sql/t-sql/functions/try-convert-transact-sql
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 13:46
-
Bom dia,
Você pode alterar a sua query para converter esta coluna para um tipo de dados numérico, como por exemplo o int.
https://docs.microsoft.com/en-us/sql/t-sql/functions/try-cast-transact-sql
https://docs.microsoft.com/en-us/sql/t-sql/functions/try-convert-transact-sql
Ariel, o problema é que INT ele não entende Zeros a esquerda.. pois entende ser um numeral.
Ele precisa entender que esse campo é um texto para poder respeitar os zeros
-
Olá Daniel,
veja se o conteúdo deste link te atende.
https://raresql.com/2013/05/01/sql-server-omitted-leading-zeros-in-excel/
Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 23 de agosto de 2017 23:42
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 13:45
-
Olá Daniel,
veja se o conteúdo deste link te atende.
https://raresql.com/2013/05/01/sql-server-omitted-leading-zeros-in-excel/
Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)
-
Bom dia,
Por falta de retorno essa thread está encerrada.
Se preciso, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.