我想编写一个oracle查询来查找特定子字符串第n次出现后的子字符串无法找到它的解决方案 示例字符串 - ab ## cd ## gh 如何在第二次出现##
之后从字符串上获取gh,即字符串答案 0 :(得分:0)
这将在第二次出现##:
后返回所有内容substr(string, instr(string, '##', 1, 2)+1)
如果需要查找具有特定长度的子字符串,则只需将第三个参数添加到substr函数
substr(string, instr(string, '##', 1, 2)+1, 2)
您也可以在查询中使用它:
select
substr(some_value, instr(some_value, '##', 1, 2)+1, 2)
from some_table
where...
答案 1 :(得分:-1)
SELECT 'ab##cd##gh' String,
Substr('ab##cd##gh',Instr('ab##cd##gh','gh',-1,1),2) Substr
FROM Dual;
STRING SU
---------- --
ab##cd##gh gh