Đây là cách bạn có thể tạo một bảng như vậy:
SELECT LEVEL AS id, REGEXP_SUBSTR('A,B,C,D', '[^,]+', 1, LEVEL) AS data
FROM dual
CONNECT BY REGEXP_SUBSTR('A,B,C,D', '[^,]+', 1, LEVEL) IS NOT NULL;
Với một chút tinh chỉnh (tức là thay thế ,
trong [^,]
với một biến) bạn có thể viết một hàm như vậy để trả về một bảng.