Retorno de string

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
s_feitoza
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 29 Nov 2007 5:04 pm
Localização: São Paulo

Boa Tarde...

Tenho a seguinte situação mais não consegui pensar em nada para resolver isso...

select '104512XA<GS>3740'
from dual

preciso que o resultado desse valor me retorne os valores anteriores a <GS>
por exemplo 104512XA. Não posso colocar valores fixos utilizando Substr pois essa posição e diferente em cada caso... Se alguém puder me dar uma forcinha eu agradeço...
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, seria isso:

Supondo que depois do teu "X", a letra "A" seja um nro 8:

Selecionar tudo


SELECT SUBSTR('104512X8<GS>3740',1,INSTR('104512X8<GS>3740','X')-1) *
       SUBSTR('104512X8<GS>3740',INSTR('104512XA<GS>3740','<GS>')-1,1)
FROM DUAL;
Qualquer coisa, manda pra gente.
s_feitoza
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 29 Nov 2007 5:04 pm
Localização: São Paulo

Valeu deu certo.

Só mais uma duvida, Tenho esse select porem quero que retorne todos os campos menos os 10 primeiros...
select ('020789835741001515040813104512XA<GS>3740')
from dual;


exemplo
retorno no select
'41001515040813104512XA<GS>3740'
s_feitoza
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 29 Nov 2007 5:04 pm
Localização: São Paulo

Valeu deu certo.

Só mais uma duvida, Tenho esse select porem quero que retorne todos os campos menos os 10 primeiros...
select ('020789835741001515040813104512XA<GS>3740')
from dual;


exemplo
retorno no select
'41001515040813104512XA<GS>3740'
bertosro
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 88
Registrado em: Sex, 18 Ago 2006 11:13 am
Localização: São Paulo - SP
Bertosro
MSN / TALK - roberto.fernandes@gmail.com

Selecionar tudo

select substr(('020789835741001515040813104512XA<GS>3740'),11)  
from dual; 
Responder
  • Informação