我在列中有一个分隔符字符串,我想选择最后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的答案。如果我找到解决方案,我会在这里发布!
答案 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)
这只是从右边开始第五次出现','
然后从