1.列转行
select a.*,trim(regexp_substr(lanwei,'[^,]+',1,level)) as lanwei
from biao a
connect by ID = prior ID
and prior dbms_random.value is not null
and level <= length(regexp_replace(lanwei, '[^,]'))+1
2.行转列
SELECT regexp_replace(listagg(PRODUCT, '|') within
group(order by PRODUCT),
'([^\|]+)(\|\1)*(\||$)',
'\1\3') as TEXT
FROM M_SUBCON_MATERIAL_INFO
where 1=1
group by PART_NUMBER
本文详细介绍了如何在SQL中通过`REGEXP_SUBSTR`和`LISTAGG`实现列转行和行转列操作,涉及正则表达式和聚合函数的应用。适合理解数据处理在数据库中的重要性。
1万+

被折叠的 条评论
为什么被折叠?



