wawaanjo 0 Denunciar post Postado Outubro 23, 2013 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
Motta 645 Denunciar post Postado Outubro 24, 2013 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
wawaanjo 0 Denunciar post Postado Outubro 24, 2013 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
Motta 645 Denunciar post Postado Outubro 25, 2013 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