SELECT ID,班组,班次日期, REGEXP_SUBSTR(TIME_RANGE, '[^;]+', 1, LEVEL) TIME_RANGE
FROM 排班表
WHERE 1 = 1
CONNECT BY LEVEL <= REGEXP_COUNT(TIME_RANGE, ';') + 1
AND PRIOR ROWID = ROWID
AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL
AND REGEXP_SUBSTR(TIME_RANGE, '[^;]+', 1, LEVEL) IS NOT NULL