› Fóruns › SQL e PL/SQL › Separar string, e retornar multiplas linhas › Separar string, e retornar multiplas linhas
[quote=”burga”:3h80qndk]Você pode trabalhar em cima disso aqui:
WITH tabela AS ([/quote]
SELECT
'leandrolbs@hotmail.com;gustavo@gmail.com;augusto@yahoo.com; ' str,
';' separador
FROM dual
)
SELECT TRIM(token) FROM (
SELECT
SUBSTR(t.separador || t.str || t.separador,
INSTR(t.separador || t.str || t.separador , t.separador, 1, level) + 1,
INSTR(t.separador || t.str || t.separador , t.separador, 1, level + 1) - INSTR(t.separador || t.str || t.separador , t.separador, 1, level) - 1) token
FROM tabela t
CONNECT BY LEVEL < LENGTH(t.separador || t.str) - LENGTH(REPLACE(t.separador || t.str, t.separador)) + 1) t2
WHERE TRIM(t2.token) IS NOT NULL;
Burga, não é a primeira vez que vejo você fazendo essas querys ninjas… esse tipo de query é uma query basica pra tirar a certificação de SQL EXPERT ?