Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wawaanjo

Extrair parte de um texto em um Campo do tipo CLOB - Oracle

Recommended Posts

Srs.

 

Tenho um campo de uma tabela cujo datatye é CLOB, no qual esse campo armazena uma série de perguntas e respostas que são feitas aos clientes da empresa através do Sistema. (As perguntas E respostas armazenadas no mesmo campo).
Quando essas informações são armazenadas na Tabela não existe um delimitador que separe o que é pergunta do que é resposta, mas pelo sistema eu sei onde termina uma pergunta e onde começa outra (EXEMPLO: O que está entre a primeira pergunta e a segunda pergunta é a resposta da primeira pergunta).
Existe uma forma de extrair essas respostas?? Sei que existe uma função no Oracle que é a REGEXP_SUBSTR. A sintaxe parece simples, mas não é nada fácil de entender, e tudo que eu pesquisei sobre essa função ela extrai o que está entre delimitadores. Como eu disse, no meu campo não existe delimitador.
Sistema: Oracle 10g
Tabela: Solicitação
Campo A: ID_car (Number)
Campo B: Resumo (CLOB)
------------------------------
ID_car Resumo
SOL001 Stop Car? yesDanger? No Type? BibolColor? blue
SOL002 Stop Car? NoDanger? yes Type? variasColor? Yellow
SOL003 Stop Car? yesDanger? No Type? SinopseColor? green
Preciso extrair as respostas da pergunta 'Type?',ou seja, tudo o que está entre Type? e Color?
ISSO É POSSÍVEL??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca usei o REGEXP_SUBSTR mas neste caso o "?" não serviria de delimitador ?

 

Qual tamanho que fica este CLOB ?

 

Pode ser um limitador ao converter para char.

 

Todavia creio que o REGEXP_SUBSTR resolva.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O datatype original é CLOB, mas pode sim converter p/ varchar, visto que o tamanho ficará pequeno somente com as respostas.

 

Mas alguém saberia como usar essa função?????????

 

 

ENTÃO

 

 

 

ALGUÉM CONHECE A FUNÇÃO REGEXP_SUBSTR????? SOBRE A SINTAXE, COMO USA, ENFIM....

 

PARECE QUE NÃO EH MTO CONHECIDA, MAS SERIA A ÚNICA FUNÇÃO QUE RESOLVERIA MEU PROBLEMA

 

 

TKS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não creio que o REGEXP_SUBSTR resolverá isto numa linha de forma "mágica".

 

Neste caso uma SP ou bloco plsql deverá ler este campo/texto e ir montando o questionário.

 

Combinando , SUBSTR , REGEXP_SUBSTR , INSTR etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.