Página 1 de 1

Separar dados de uma coluna em linhas

Enviado: Sex, 21 Jan 2022 6:16 pm
por thrrent
Olá pessoal,

Tenho uma tabela X com uma coluna Y do tipo Clob.

Esta coluna armazena vários valores concatenados com quebra de linha, Ex:

Coluna Y:
Linha 1:
"Rio de Janeiro
São Paulo
Louro José
Etc..."

Preciso separar os dados contidos em um registro em linhas diferentes para cada quebra de linha.

Coluna Y:
Linha 1:
"Rio de Janeiro"
Linha 2:
"São Paulo"
Linha 3:
"Louro José"
Linha 4:
"Etc..."

Alguém já precisou fazer isso?

Agradeço a ajuda!

Re: Separar dados de uma coluna em linhas

Enviado: Seg, 24 Jan 2022 2:52 pm
por dr_gori
Veja se esse link ajuda:
viewtopic.php?t=753

Re: Separar dados de uma coluna em linhas

Enviado: Ter, 25 Jan 2022 10:58 am
por thrrent
No meu caso específico preciso fazer via sql, to pensando em usar expressão regular para captar as quebras de linhas e usar para dividir os valores em linhas distintas.

Re: Separar dados de uma coluna em linhas

Enviado: Ter, 25 Jan 2022 12:43 pm
por dr_gori
Tente assim, usando apenas SQL: (O tópico sugerido acima tem várias formas de se fazer isso... No fim tem um exemplo apenas em SQL)

Selecionar tudo

select REGEXP_SUBSTR(str, exp, 1, level) lista
from (select 'paulo@email.com;thomas@email.com' str, '[^;]+' exp 
      from dual) 
connect by REGEXP_SUBSTR(str, exp, 1, level) is not null  
Saída:

Selecionar tudo

LISTA
--------------------------------
paulo@email.com
thomas@email.com