--行转列函数
--在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合。
SELECT regexp_substr('17,20,23', '[^,]+', 1, rownum) single_data
FROM dual
CONNECT BY rownum <=
length('17,20,23') - length(REPLACE('17,20,23', ',', '')) + 1;
--列转行函数
select listagg(f.REQUEST_ID, ';') within group(order by f.REQUEST_ID) request_id
from fnd_concurrent_requests f, fnd_user fu
where 1 = 1
and fu.USER_ID = f.REQUESTED_BY
and fu.USER_NAME = 'WS_USER'
and f.CONCURRENT_PROGRAM_ID in (60331, 45092)
and rownum < 10;