Buscar valor no campo depois de um caracter

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qui, 12 Jul 2007 3:22 pm

Boa tarde!
Preciso de pegar um dado, mas no campo tenho outras informações gravadas, e o que "separa" essas informações é a vírgula. Quero pegar apenas o que consta depois da vírgula.
Assim:
'exemplo, teste'

Quero apenas o valor 'teste'... O conteúdo até a virgula é variável, por isso não consigo usar o substr.

Por favor, como poderia fazer?
:roll:

Obrigada!
thatifc
Localização: São Paulo - SP

Mensagemem Qui, 12 Jul 2007 3:26 pm

Ah! Mais uma coisa:
Não posso usar função, porque estou criando um alert (no ERP) e lá só aceita o select simples... Preciso fazer o "tratamento" no campo mesmo.
thatifc
Localização: São Paulo - SP

Mensagemem Qui, 12 Jul 2007 3:37 pm

Thati, tenta este código:

Código: Selecionar todos
DECLARE
  v_string VARCHAR2(50) := 'Paulo;Trevisolli';
BEGIN
  dbms_output.put_line(' Depois do ponto e virgula : ' || SUBSTR(v_string,INSTR(v_string,';')+1,11));
END;


qualquer coisa manda ai.
Trevisolli
Localização: Araraquara - SP

Abraço,

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

Mensagemem Qui, 12 Jul 2007 3:39 pm

Fala thatifc,
Boa tarde,

Então, faça um selequete da coluna que você precisa!!

Crie um spool c:\teste.txt no sqlplus e depois abrar no excel, separando por virgulas no menu ferramentas , importar dados externos, daee você coloca o separador por "," :lol:

Qualquer coisas, poste aqui no forum!

Abs Hahu
Hahu
Localização: São Paulo

O mundo gira muito!!

Mensagemem Qui, 12 Jul 2007 3:45 pm

Trevisolli e Hahu,

muito obrigada pelo retorno!!
Segue aqui a forma que encontrei de resolver essa pendenga:
Código: Selecionar todos
Select Substr('Exemplo,Teste', Instr('Exemplo,Teste', ',')+1)
  From Dual


Tks!!
Thati

:wink:
thatifc
Localização: São Paulo - SP

Mensagemem Qui, 05 Dez 2013 1:38 pm

Estou com uma dúvida bastante parecida:

No seu caso você buscou o segundo item da "lista", mas se eu tivesse mais de dois itens e quisesse buscar somente o segundo? Porque da forma que fizestes ele irá retornar tudo após o segundo.

Código: Selecionar todos
Select Substr('Exemplo,Teste, Exemplo2', Instr('Exemplo,Teste,Exemplo2', ',')+1)
  From Dual


Isso irá retornar: "Teste, Exemplo2"

Como eu poderia fazer para buscar somente o Teste?
ironijunior

Mensagemem Qui, 05 Dez 2013 5:35 pm

ironijunior ,basta ajustar o incrementador de string ,segue o exemplo:

Código: Selecionar todos
SQL> SELECT SUBSTR('Exemplo,Teste,Exemplo2',+9,5) FROM DUAL;

SUBST
-----
Teste

adrianoturbo
Localização: Brasília

Adriano Alves
---Para cada problema dificil existe uma solução simples.----


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


    Voltar para SQL

    Quem está online

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