Preencher com zeros a esquerda.

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
pyro
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 323
Registrado em: Qui, 21 Set 2006 10:21 am
Localização: Barala - TT

Preciso preencher um campo do meu select com zeros até completar 6 posições. Já procurei aqui mas não achei nada. alguém pode dar uma ajuda?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Ai abaixo:

Selecionar tudo

SELECT LPAD (99, 6, 0)
  FROM DUAL;
Só alterar o '99' que coloquei como teste, pelo teu campo.
O último 0 é a informação que deseja que seja completada com ela e, 6 a repetição dessa informação.
pyro
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 323
Registrado em: Qui, 21 Set 2006 10:21 am
Localização: Barala - TT

Vlw, agora está funcionando redondo.
jlaudirt
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sáb, 30 Ago 2008 10:16 am
Localização: vilhena - ro

Tem como dar um update preenchendo com alguma informação a esquerda do campo?
Por exemplo:

tenho um cadastro de clientes e eles nos fornecem a inscrição estadual. porem nem todos nos fornecem como ela é (com os zeros à esquerda).

quero atualizar este cadastro inserindo os zeros à esquerda.
nota: lembrando que a quantidade de numeros válidos (sem os zeros) é variável, mas com os zeros deve totalizar 14 (para o estado de rondonia)

exemplo:
nome - inscrição estadual
ciclano da silva - 000.000.123.456.65
beltrano antunes - 000.555.111.111.11
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, dá uma olhada nos exemplos de LPAD abaixo e, veja se te ajuda:

Selecionar tudo

-- Exemplo de LPAD
SELECT LPAD(12345665,14,0) FROM  dual;

-- Update
UPDATE SUA_TABELA
   SET TEU_CAMPO = LPAD(VALOR,14,0)
 WHERE TUA_CLAUSULA;
 
-- Select com Formatação + LPAD
SELECT SUBSTR(LPAD(12345665,14,0),1,3)||'.'||
       SUBSTR(LPAD(12345665,14,0),4,3)||'.'||
       SUBSTR(LPAD(12345665,14,0),7,3)||'.'||
       SUBSTR(LPAD(12345665,14,0),10,3)||'.'||
       SUBSTR(LPAD(12345665,14,0),13,2) formatado               
  FROM  dual;

-- Update com formatação
UPDATE SUA_TABELA
   SET TEU_CAMPO = SUBSTR(LPAD(VALOR,14,0),1,3)||'.'||
                   SUBSTR(LPAD(VALOR,14,0),4,3)||'.'||
                   SUBSTR(LPAD(VALOR,14,0),7,3)||'.'||
                   SUBSTR(LPAD(VALOR,14,0),10,3)||'.'||
                   SUBSTR(LPAD(VALOR,14,0),13,2)
 WHERE TUA_CLAUSULA;
 
Qualquer coisa, manda pra gente.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Bing [Bot], Google [Bot] e 1 visitante