oracle怎么截取两个字符串之间的内容 20

如:'XX内容1:AA内容2:BB内容3:CC'要截取内容1和内容2之间的AA... 如:'XX内容1:AA 内容2:BB 内容3:CC'要截取内容1和内容2之间的 AA 展开
 我来答
匿名用户
推荐于2017-09-13
展开全部
oracle本身自带许多了函数,但是在实际的工作中,这些函数是远远不够用,因此自定义一些函数往往使代码的执行效率更高!
需求:取出字符串'0001 1 dfds 13528221 dgdfkgdf'中第3个标识符(这个里面标识符是一个空格' ')和第4个标识符之间的字符串
create or replace function strfind(cs        in             varchar2, --字符串 bs        in             varchar2,--标示符 x         in             number,  --想要取到字符串部分的第1个标示符是第几个标识符 y         in             number)  --想要取到字符串部分的第2个标示符是第几个标识符,与前者相连return varchar2 isz varchar2(20);m number;n number;p number;begin  --返回第1个标志符所在的位置  select instr(cs,bs,1,x) into m from dual;  --返回第2个标志符所在的位置  select instr(cs,bs,1,y) into n from dual;  --取得字符串z的长度  p:=n-m-1;  select substr(cs,m+1,p) into z from dual;  return(z);end strfind;
 
------测试及返回结果
需求:取出字符串'0001 1 dfds 13528221 dgdfkgdf'中第3个标识符(这个里面标识符是一个空格' ')和第4个标识符之间的字符串
---------------------------------
select strfind('0001 1 dfds 13528221 dgdfkgdf',' ',3,4) from dual
 
查询结果:
---------------------------------
13528221
 
说明:定义的参数bs最好是单个字符,可以根据实际情况对程序改动
百度网友65e669b
2014-09-23 · TA获得超过1946个赞
知道小有建树答主
回答量:1366
采纳率:0%
帮助的人:828万
展开全部
select substr('XX内容1:AA',instr('XX内容1:AA','AA'),2) from dual
根据它举一反三即可
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式