SQL Server Developer Center >
Fóruns do SQL Server
>
SQL Server - Desenvolvimento Geral
>
CAMPO ZERO ESQUERDA
CAMPO ZERO ESQUERDA
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.
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 RespostaQuéopinho quinta-feira, 5 de novembro de 2009 18:11
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 RespostaQuéopinho quinta-feira, 5 de novembro de 2009 18:11
- 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 RespostaQuéopinho quinta-feira, 5 de novembro de 2009 18:11
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 RespostaQuéopinho quinta-feira, 5 de novembro de 2009 18:11
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 RespostaQuéopinho quinta-feira, 5 de novembro de 2009 18:11
- 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 RespostaQuéopinho quinta-feira, 5 de novembro de 2009 18:11
- Bom pessoal unico Jeito foi mudar o campo para char.
obrigado a todos e bom trabalho, vlw.


