如何在Oracle数据库中完成数据的【行转列】?

示例如下:

SELECT  REGEXP_SUBSTR(STR, '[^,]+', 1, LEVEL)
FROM (SELECT '张三,李四,王五,赵六' AS STR FROM DUAL)
CONNECT BY LEVEL<=LENGTH(STR)-LENGTH(REGEXP_REPLACE(STR,',',''))+1;