【发布时间】:2020-06-10 08:32:17
【问题描述】:
我有一个要求,我得到一个带有逗号分隔值的字符串,我必须提取这些值和过程。我使用了下面的查询,一切正常,但是当我在该字符串中的所有空值都由 , 分隔时,它失败了。
SELECT regexp_substr(i_child_sal_acc_det, '[^,]+', 1, LEVEL)
BULK COLLECT INTO v_sal_acc_det_list
FROM dual
CONNECT BY regexp_substr(i_child_sal_acc_det, '[^,]+', 1, LEVEL)
IS NOT NULL.
上述查询返回 4 条记录用于输入 'A,B,C,D',但仅返回 1 条记录用于 ',,,' 和 2 条记录用于输入 ',C,D,'。
我想要的是获取逗号之间的值,即使它是 NULL,它们最多可以传递一个字符串中的 9 个值。
你能帮忙吗?
【问题讨论】: