Элегантное решение по преобразованию строки с разделителем, в столбец:
select regexp_substr('1,2,3,4,5','[^,]',level) from dual connect by regexp_substr('1,2,3,4,5','[^,]',1,level) is not null
Ага и наоборот
ОтветитьУдалитьSELECT
tname,
LISTAGG(phone, ' ; ') WITHIN GROUP (ORDER BY phone) phonestr
FROM cl_phones
GROUP BY tname
К сожалению LISTAGG будет работать только в 11g
Удалитьможет так?
ОтветитьУдалитьselect
regexp_substr('1,2,3,4,5','[^,]',1,level)
from dual
connect by regexp_substr('1,2,3,4,5','[^,]',1,level) is not null
Только работает он для цифр, а вот запрос, который работает для чисел
Удалитьselect
regexp_substr('10,100,23456285','[[:digit:]]+',1,level)
from dual
connect by regexp_substr('10,100,23456285','[[:digit:]]+',1,level) is not null
Подскажите, а как сделать тоже самое для нескольких строк с добавлением row_number?
ОтветитьУдалить