Nếu các giá trị được phân tách của bạn luôn là chữ và số ở giữa các dấu phẩy thì bạn có thể thử:
SELECT REGEXP_SUBSTR( <delimied_string>, '[[:alnum:]]{0,},', 1, 7 )
FROM dual;
Để nhận giá trị thứ bảy (bao gồm cả dấu phẩy ở cuối). Nếu nó trống, bạn chỉ cần lấy dấu phẩy ở cuối (bạn có thể dễ dàng loại bỏ).
Rõ ràng, nếu bạn muốn một giá trị khác với giá trị thứ bảy thì hãy thay đổi giá trị tham số thứ tư thành bất kỳ lần xuất hiện thứ n nào bạn muốn, ví dụ:
SELECT REGEXP_SUBSTR( <delimied_string>, '[[:alnum:]]{0,},', 1, <nth occurance> )
FROM dual;
CHỈNH SỬA:Như tôi yêu thích REGEX đây là một giải pháp cũng loại bỏ dấu phẩy ở cuối
SELECT REPLACE(
REGEXP_SUBSTR(<delimied_string>, '[[:alnum:]]{0,},', 1, <nth>),
','
)
FROM dual;
hy vọng nó sẽ giúp