none
Ajuda com SQLCMD RRS feed

  • 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,


    terça-feira, 22 de agosto de 2017 19:35

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

    quarta-feira, 23 de agosto de 2017 14:37
  • 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...

    terça-feira, 22 de agosto de 2017 20:16
  • 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. :)

    quarta-feira, 23 de agosto de 2017 16:30

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...

    terça-feira, 22 de agosto de 2017 20:16
  • 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

    quarta-feira, 23 de agosto de 2017 14:37
  • 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

    quarta-feira, 23 de agosto de 2017 14: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. :)

    quarta-feira, 23 de agosto de 2017 16:30
  • 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. :)

    Interessante.. É a mesma sugestão que tinha dado acima.
    quarta-feira, 23 de agosto de 2017 17:45
  • 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.

    segunda-feira, 28 de agosto de 2017 13:46
    Moderador