PL/SQL 中怎样返回某字符串在另一字符串中第2次出现的索引

我只知道instr()是返回第一次的索引,那我想要第二次的怎么办啊,用啥方法啊?... 我只知道instr() 是返回第一次的索引,那我想要第二次的怎么办啊,用啥方法啊? 展开
 我来答
badkano
2015-07-20 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部

应该用instr函数,比如查找一个字符串abcdefad中查找第二个a出现的位置,可用以下方法:

select instr('abcdefad','a',instr('abcdefad','a')+1) from dual;

运行结果:

也就是说第二个a出现的位置是第7个字符。

luxer1236e70
2013-11-21 · TA获得超过1610个赞
知道小有建树答主
回答量:270
采纳率:100%
帮助的人:127万
展开全部
instr(主串main_str,子串sub_str,起始位置start_pos,次数N)
次数N默认为1,这里,你将次数设置为2即可。

另外,关于instr函数的起始位置:
一般设置start_pos为1,表示从主串第一个字符开始,从左往右搜索子串。
如果设置start_pos为负数,如-1,表示从主串倒数第1个字符开始,“从右往左”搜索,返回子串在主数第N次出现的位置。
应注意,start_pos为负数时,返回值仍是主串“从左往右”数的位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kas68310
2012-02-12 · TA获得超过3638个赞
知道大有可为答主
回答量:1468
采纳率:33%
帮助的人:1181万
展开全部
用截断字符串的函数取第一次出现的右半部分,然后再做一次取索引.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柠檬茶的杯子
2012-09-27 · 超过18用户采纳过TA的回答
知道答主
回答量:256
采纳率:0%
帮助的人:64.1万
展开全部
INSTR(“字段或者字符”,'目标字符',1,2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式