https://www.cnblogs.com/gdzhong/p/4726315.html?tvd
SQL代码 列转行

select REGEXP_SUBSTR(a.rolecode ,'[^,]+',1,l) rolecode from ( select 'a,aa,aaa' rolecode from dual ) a, (SELECT LEVEL l FROM DUAL CONNECT BY LEVEL<=100) b WHERE l <=LENGTH(a.rolecode) - LENGTH(REPLACE(rolecode,','))+1

或者
with a as (select 'ABC,AA,AD,ABD,JI,CC,ALSKD,ALDKDJ' id from dual) select regexp_substr(id,'[^,]+',1,rownum) id from a connect by rownum <= length(regexp_replace(id,'[^,]+'))
SQL代码 行转列

select name,coures,to_char(wmsys.wm_concat(xxx.score)) c from (select '小明' name,'语文' coures,90 score from dual union all select '小明' name,'语文' coures,91 score from dual union all select '小明' name,'数学' coures,90 score from dual union all select '小明' name,'数学' coures,91 score from dual) xxx group by xxx.name,coures

本文介绍两种SQL技巧,一是如何将数据表中的列转换为行,适用于处理逗号分隔的字符串字段;二是如何将数据表中的行转换为列,展示了一种汇总同一类别下不同数据的方法。这两种技巧对于处理复杂的数据结构和进行数据聚合非常有用。
1072

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



