Boa tarde Paulo,

Me parece que tem uma solução bem elegante no Oracle 11g, Uma outra coisa,
funciona bem quando o campo é separado por virgula.

select description,(column_value).getnumberval()
from t,xmltable(numbers)

Infelizmente não tenho Oracle 11g para testar aqui.

Abs.


2015-11-03 17:22 GMT-02:00 Paulo Chesini p.ches...@gmail.com [oracle_br] <
oracle_br@yahoogrupos.com.br>:

>
>
> Boa tarde Diego,
>
> Estou usando  o Oracle 11g
> essa consulta é na tabela de produtos,
> a variável vem com os campos separados por quebra de linha.
>
> Abraços
> PC
>
>
> Em 3 de novembro de 2015 17:09, Diego Melo diegopm...@gmail.com
> [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu:
>
>>
>>
>> Boa tarde Paulo,
>>
>> Humm, vai depender do tamanho da sua tabela,
>>
>> Eu lembro que eu utilizei para uma consulta simples, em um variável
>> apenas que vinha com os dados separados por vírgula.
>>
>> Qual versão do Oracle que você está utilizando ?
>>
>> 2015-11-03 15:57 GMT-02:00 Paulo Chesini p.ches...@gmail.com [oracle_br]
>> <oracle_br@yahoogrupos.com.br>:
>>
>>>
>>>
>>> Boa tarde Diego,
>>>
>>> Obrigado pela resposta
>>> Fiz o teste aqui, levou mais de 5 minutos, acabei cancelando a consulta.
>>>
>>> Leva tanto tempo assim mesmo?
>>>
>>> Abraços
>>> PC
>>>
>>> Em 3 de novembro de 2015 14:33, Diego Melo diegopm...@gmail.com
>>> [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu:
>>>
>>>>
>>>>
>>>> Boa tarde,
>>>>
>>>> Tente esse select aqui
>>>>
>>>>
>>>> select regexp_substr(CAMPO2, '[^,]+', 1, level) campo2
>>>>       from dual
>>>>     connect by regexp_substr(CAMPO2, '[^,]+', 1, level) is not null
>>>>
>>>>
>>>> Abs.
>>>>
>>>> Diego Melo
>>>>
>>>> 2015-11-03 14:16 GMT-02:00 Paulo Chesini p.ches...@gmail.com
>>>> [oracle_br] <oracle_br@yahoogrupos.com.br>:
>>>>
>>>>>
>>>>>
>>>>> Boa tarde pessoal, preciso fazer uma consulta de um campo que tem
>>>>> quebra de linha e que essa consulta repita os outros campos da consulta
>>>>> cada um numa linha de resultado, alguém pode me indicar o caminho das
>>>>> pedras?
>>>>>
>>>>> Exemplo hoje está assim:
>>>>> SELECT CAMPO1, REPLACE(CAMPO2,CHR(10), ',')  AS CAMPO2 , CAMPO3 FROM
>>>>> TABELA WHERE CAMPO1 IN (1,2)
>>>>>
>>>>> Tem como resultado
>>>>> CAMPO1   CAMPO2        CAMPO3
>>>>> 1          36,37,38,39,40      XPTO1
>>>>> 2           32,33/4,35,36/7    XPTO2
>>>>>
>>>>> Preciso que seja assim:
>>>>> CAMPO1   CAMPO2        CAMPO3
>>>>> 1          36          XPTO1
>>>>> 1          37          XPTO1
>>>>> 1          38          XPTO1
>>>>> 1          39          XPTO1
>>>>> 1          40          XPTO1
>>>>> 2          32          XPTO2
>>>>> 2          33/4        XPTO2
>>>>> 2          35          XPTO2
>>>>> 2          36/7        XPTO2
>>>>>
>>>>>
>>>>> Obrigado desde já.
>>>>>
>>>>> Abraços
>>>>> PC
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
> 
>

Responder a