Oracle SQL:选择分隔字符串的最后n个限定符

时间:2018-05-28 11:44:36

标签: sql oracle

我在列中有一个分隔符字符串,我想选择最后5个限定符。例如,在下面的示例中,我想得到结果' 3,4,5,6,7'。

select '1,2,3,4,5,6,7' as val from dual

我目前正在摆弄字符串并尝试在其上执行regexp_substr(可能与regexp_count和row_number结合使用?),但我还不能理解它。

我可以找到几个类似的线程,但还无法找到oracle sql的答案。如果我找到解决方案,我会在这里发布!

2 个答案:

答案 0 :(得分:2)

您可以使用regexp_substr()

select regexp_substr('1,2,3,4,5,6,7', '([^,]+[,]?){5}$')

答案 1 :(得分:1)

您可以尝试以下内容:

select substr(val, instr(val, ',', -1, 5) + 1)

这只是从右边开始第五次出现','然后从

上的那个字符返回字符串