none
CAMPO ZERO ESQUERDA RRS feed

  • Pergunta

  • olá pessoal.

    Tenho um campo CNPJ do tipo decimal(14,0)

    exemplo: 08761379000164
    quando vou gravar no banco de dados sql server
    ele vai sem o zemo  ou seja assim : 8761379000164
    qual é o jeito melhor para fazer?
    Quem estiver alguma idea por favor post, obrigado.

     

    quinta-feira, 5 de novembro de 2009 17:46

Respostas

  • Mudar o campo para de decimal(14,0) Varchar(14).

    É a unica soluçao no que tange ao armazenamento. Mas voce pode armazenar desse jeito (sem o zero) e formatar na sua interface (com um controle do tipo maskedition).


    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------
    Téléphone: (819) 379-3446
    Télécopieur: (819) 379-3449
    triw@sogi.com.no_spam
    ----------------------------------------------------------
    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    • Marcado como Resposta Quéopinho quinta-feira, 5 de novembro de 2009 18:11
    quinta-feira, 5 de novembro de 2009 17:58
  • Queopinh


    vc deve alterar o datatype para char(14)

    veja o teste

    declare @cpf char(14),@cpf2 decimal(14,0)
    set @cpf = right(replicate('0',14)+ cast(12344646456 as varchar(14)),14)
    set @cpf2 = replicate('0',14)+ cast(12344646456 as varchar(14))
    select @cpf, @cpf2




    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta Quéopinho quinta-feira, 5 de novembro de 2009 18:11
    quinta-feira, 5 de novembro de 2009 17:58
    Moderador
  • Concordo com os colegas, somente alterando tipo de dado ou usando o Cast para alterá-lo.

    DECLARE

     

    @zero TABLE (NUM CHAR(14))

    INSERT

     

    INTO @zero VALUES('08761379000164')

    SELECT

     

    * FROM @zero

    • Marcado como Resposta Quéopinho quinta-feira, 5 de novembro de 2009 18:11
    quinta-feira, 5 de novembro de 2009 18:01

Todas as Respostas

  • Mudar o campo para de decimal(14,0) Varchar(14).

    É a unica soluçao no que tange ao armazenamento. Mas voce pode armazenar desse jeito (sem o zero) e formatar na sua interface (com um controle do tipo maskedition).


    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------
    Téléphone: (819) 379-3446
    Télécopieur: (819) 379-3449
    triw@sogi.com.no_spam
    ----------------------------------------------------------
    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    • Marcado como Resposta Quéopinho quinta-feira, 5 de novembro de 2009 18:11
    quinta-feira, 5 de novembro de 2009 17:58
  • Queopinh


    vc deve alterar o datatype para char(14)

    veja o teste

    declare @cpf char(14),@cpf2 decimal(14,0)
    set @cpf = right(replicate('0',14)+ cast(12344646456 as varchar(14)),14)
    set @cpf2 = replicate('0',14)+ cast(12344646456 as varchar(14))
    select @cpf, @cpf2




    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta Quéopinho quinta-feira, 5 de novembro de 2009 18:11
    quinta-feira, 5 de novembro de 2009 17:58
    Moderador
  • Concordo com os colegas, somente alterando tipo de dado ou usando o Cast para alterá-lo.

    DECLARE

     

    @zero TABLE (NUM CHAR(14))

    INSERT

     

    INTO @zero VALUES('08761379000164')

    SELECT

     

    * FROM @zero

    • Marcado como Resposta Quéopinho quinta-feira, 5 de novembro de 2009 18:11
    quinta-feira, 5 de novembro de 2009 18:01
  • Bom pessoal unico Jeito foi mudar o campo para char.

    obrigado a todos e bom trabalho, vlw.
    quinta-feira, 5 de novembro de 2009 18:11