Sequencia alfabetica

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
Avatar do usuário
bessa_lucas
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Sex, 17 Out 2014 3:02 pm
Lucas Bessa
Analista de Sistemas

lucas.bessa@obers.com.br
lucas.bessa.ti@gmail.com

Olá pessoal,

Preciso gerar uma sequencia alfabética.
Vou ter o DDMMAAAA - UMA_LETRA
Ex.:

DDMMAAAA-A
DDMMAAAA-B
DDMMAAAA-C
.
.
.
DDMMAAAA-Z
DDMMAAAA-AA
DDMMAAAA-AB

E assim por diante. Alguém sabe como posso fazer isso?
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Bom dia Bessa,

Se o formato for sempre esse, tente

Selecionar tudo

Select * from tabela
order by substr(campo,10)
Avatar do usuário
bessa_lucas
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Sex, 17 Out 2014 3:02 pm
Lucas Bessa
Analista de Sistemas

lucas.bessa@obers.com.br
lucas.bessa.ti@gmail.com

Consegui da seguinte forma

Selecionar tudo

DECLARE
-- lote é o número sequencial da ordem
  LOTE NUMBER(5) := 28;
  RESTO VARCHAR2(1);
  RETORNO VARCHAR2(100);
BEGIN

  while LOTE > 26 loop
    retorno := RETORNO||'A';
    LOTE := LOTE - 26;
  end loop;
  RESTO := chr(LOTE + 64);
  
  RETORNO := RETORNO|| RESTO;

dbms_output.put_line(retorno);

END;
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Acho que eu interpretei errado, você queria gerar os registros e não extraí-los.

O importante é que você conseguiu.

Abraços!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes