如果您的分隔值始终是逗号之间的字母数字,那么您可以尝试:
SELECT REGEXP_SUBSTR( <delimied_string>, '[[:alnum:]]{0,},', 1, 7 )
FROM dual;
获取第七个值(包括尾随逗号)。如果它是空的,您只会得到尾随的逗号(您可以轻松删除它)。
显然,如果您想要第七个以外的值,请将第四个参数值更改为您想要的第 n 次出现的值,例如
SELECT REGEXP_SUBSTR( <delimied_string>, '[[:alnum:]]{0,},', 1, <nth occurance> )
FROM dual;
编辑:因为我喜欢 REGEX,这里有一个解决方案,它还删除了尾随逗号
SELECT REPLACE(
REGEXP_SUBSTR(<delimied_string>, '[[:alnum:]]{0,},', 1, <nth>),
','
)
FROM dual;
希望能帮助到你