Duvida besta

6 views
Skip to first unread message

Ricardo Augusto

unread,
Aug 9, 2011, 2:09:33 PM8/9/11
to sqlse...@googlegroups.com
Senhores,

dúvida besta...
quero que um determinado campo da minha tabela seja da seguinte forma... é um char(5) onde o valor deve ser preenchido de 0 a direita sempre. Ex

Inseri 13... na tabela aparece 00013 
Inseri 1...   na tabela aparece 00001 

Sakaram?!





Atenciosamente,

Ricardo Augusto

Socorro Vieira

unread,
Aug 9, 2011, 2:14:45 PM8/9/11
to sqlse...@googlegroups.com
Ricardo,
 

select REPLICATE(0, 5-Len(Campo)) + Campo
 
[]'s

--
Socorro Vieira
DBA | MCP | MTA | MCTS


2011/8/9 Ricardo Augusto <zel...@gmail.com>

Felipe Mendonça Guarneri

unread,
Aug 9, 2011, 2:17:54 PM8/9/11
to sqlse...@googlegroups.com

Ricardo Augusto

unread,
Aug 9, 2011, 2:19:11 PM8/9/11
to sqlse...@googlegroups.com
Não queridona, a idéia é éssa, mas não aí... hehehehehe
Quero é deixar na estrutura da tabela para que seja feito automaticamente e não na hora de mostrar.

Atenciosamente,

Ricardo Augusto



2011/8/9 Socorro Vieira <socorr...@gmail.com>

Ricardo Augusto

unread,
Aug 9, 2011, 2:22:28 PM8/9/11
to sqlse...@googlegroups.com
Pois é Felipe,

Como falei pra Socorrão minha brother, é isso mas não aí.
Quero deixar na estrutura da tabela. Não quero só alterar na hora de exibir.

Atenciosamente,

Ricardo Augusto



2011/8/9 Felipe Mendonça Guarneri <nep...@gmail.com>

Socorro Vieira

unread,
Aug 9, 2011, 2:27:11 PM8/9/11
to sqlse...@googlegroups.com
Coluna computada?


 
2011/8/9 Ricardo Augusto <zel...@gmail.com>

Marina Marques

unread,
Aug 9, 2011, 2:27:29 PM8/9/11
to sqlse...@googlegroups.com
é tentei fazer o insert usando as funções, mas não funcionou.
--
----------------------------------------------
Att.
Marina Marques Malvino

Claudio Wagner

unread,
Aug 9, 2011, 2:29:39 PM8/9/11
to sqlse...@googlegroups.com
Ricardo,

se vc quiser inserir o valor já com os zeros faça o seguinte:

insert into tab1 values (5,RIGHT('00000'+ CONVERT(VARCHAR,5),5))

Abraços,
Skull





2011/8/9 Felipe Mendonça Guarneri <nep...@gmail.com>
Talvez isso ajude:



--
Cláudio Wágner
MCTS - SQL Server 2005
www.skull.pro.br

Marina Marques

unread,
Aug 9, 2011, 2:29:28 PM8/9/11
to sqlse...@googlegroups.com
Funcinou, faltaram as aspas


create table teste (numero char(5))


insert into teste values (REPLICATE('0',5-Len('1')) + '1')
insert into teste values (REPLICATE('0',5-Len('56')) + '56')
insert into teste values (REPLICATE('0',5-Len('234')) + '234')
insert into teste values (REPLICATE('0',5-Len('4567')) + '4567')
insert into teste values (REPLICATE('0',5-Len('12345')) + '12345')

Marina Marques

unread,
Aug 9, 2011, 2:31:23 PM8/9/11
to sqlse...@googlegroups.com
Funcionou, faltaram as aspas!!!



create table teste (numero char(5))


insert into teste values (REPLICATE('0',5-Len('1')) + '1')
insert into teste values (REPLICATE('0',5-Len('56')) + '56')
insert into teste values (REPLICATE('0',5-Len('234')) + '234')
insert into teste values (REPLICATE('0',5-Len('4567')) + '4567')
insert into teste values (REPLICATE('0',5-Len('12345')) + '12345')

Resultado:


00001
00056
00234
04567
12345

Era isso que vc queria???

Socorro Vieira

unread,
Aug 9, 2011, 2:34:26 PM8/9/11
to sqlse...@googlegroups.com
meu brother Ricardo,
 
Ve se te atende:
 
create table ax(
a char(5),
b as REPLICATE(0, 5-Len(a)) + a
)

insert into ax values('1')
insert into ax values('13')
 
[]'s
--
Socorro Vieira
DBA | MCP | MTA | MCTS


2011/8/9 Ricardo Augusto <zel...@gmail.com>

Marina Marques

unread,
Aug 9, 2011, 2:36:12 PM8/9/11
to sqlse...@googlegroups.com
Socorro, ele não poderia colocar no momento do insert, as funções como vc havia colocado no Select?
Eu fiz aqui e funcionou, conforme postei...

Socorro Vieira

unread,
Aug 9, 2011, 2:47:03 PM8/9/11
to sqlse...@googlegroups.com
Marina,
 
Sim, poderia.
Foi a primeira opção que eu mandei pra ele.
Mas ele respondeu ai no grupo:
 
"Pois é Felipe,

Como falei pra Socorrão minha brother, é isso mas não aí.
Quero deixar na estrutura da tabela. Não quero só alterar na hora de exibir."
 
Então, a solução é criar uma coluna computada persistida ou não, nesse caso.
 
 
2011/8/9 Marina Marques <mari...@gmail.com>

Marina Marques

unread,
Aug 9, 2011, 2:50:33 PM8/9/11
to sqlse...@googlegroups.com
Mas ele não precisa deixar na estrutura da tabela, apenas colocar na estrutura do INSERT...
Bom....

Socorro Vieira

unread,
Aug 9, 2011, 2:54:19 PM8/9/11
to sqlse...@googlegroups.com
pode ser também...
pode ser assim, pode ser uma coluna computada.


 
2011/8/9 Marina Marques <mari...@gmail.com>

Ricardo Augusto

unread,
Aug 9, 2011, 3:01:26 PM8/9/11
to sqlse...@googlegroups.com
Sem querer ser chato, mas eu tinha feito assim, porem dessa forma eu tenho 2 campos um computado e um normal. o que eu quero é só o computado... To achando que vou continuar com minha funçao mesmo

Sent from my iPhoneo 

Renato Cantarino

unread,
Aug 9, 2011, 3:02:13 PM8/9/11
to sqlse...@googlegroups.com
Sent from my iPhoneo ???

Ricardo Augusto

unread,
Aug 9, 2011, 3:03:43 PM8/9/11
to sqlse...@googlegroups.com
Entendo seu ponto de vista, mas é uma necessidade específica e que assim no insert nao adianta

Sent from my iPhone 

Ricardo Augusto

unread,
Aug 9, 2011, 3:04:18 PM8/9/11
to sqlse...@googlegroups.com
Iphone do paraguai... Hehehehehe

Sent from my iPhone

Felipe Mendonça Guarneri

unread,
Aug 9, 2011, 3:04:51 PM8/9/11
to sqlse...@googlegroups.com
Hahahahaha


Felipe Mendonça Guarneri

unread,
Aug 9, 2011, 3:05:38 PM8/9/11
to sqlse...@googlegroups.com
HiPhone

Enviado via iPhone

Renato Cantarino

unread,
Aug 9, 2011, 3:05:57 PM8/9/11
to sqlse...@googlegroups.com
eu queria um... mas pensei bem! 
Nada contra.

Socorro Vieira

unread,
Aug 9, 2011, 3:10:38 PM8/9/11
to sqlse...@googlegroups.com
é só o computado não dá né
=P


 
2011/8/9 Ricardo Augusto <zel...@gmail.com>

Ricardo Augusto

unread,
Aug 9, 2011, 4:09:34 PM8/9/11
to sqlse...@googlegroups.com
Exatamente senhora! Permanecemos com o problema

Sent from my iPhone
Reply all
Reply to author
Forward
0 new messages