数据库应用一、oracle实现简单的字符串截取

本文介绍了一个使用Oracle SQL函数INSTR和SUBSTR实现的简单字符串截取功能,该函数能够根据逗号分隔符将输入的字符串拆分成多个子字符串,并通过示例展示了如何在PL/SQL中编写自定义函数来完成这一任务。


一个简单的faction实现字符串截取功能:

函数说明:

一、功能

一个使用‘,’为分隔符的字符串将其截取,将两个逗号间的字符串拿出来

二、重要oracle关键字

1、INSTR(源字符串,要查找的字符,开始位置,出现的次数)

这个函数将返回要查找的字符串在源字符串中出现的位置。

例子:select instr('abcd','b',1,1) from dual;

结果:2

2、substr(源字符串,开始截取位置,截取位数)

这个函数将放回源字符串从第几位开始后的n个字符。

例子select substr('abcd',2,2) from dual;

结果:bc

三、函数举例

string=(aa,bbb,cccc);

结果为将字符串拆分为:aa    bbb  cccc三个子字符串

-------------------------------------------------------------------------------我是分割线------------------------------------------------------------

代码体:

create or replace function F_CUT_STRING(s_string in varchar) return boolean is Result boolean; v_string varchar2(1000); tmp_string varchar2(1000); position_no number(10); ocurrence_no number(10); time_no number(10); begin   Result:=false;    -----字符串截取   v_string:=s_string||',';   position_no:=1;   time_no:=1;   while(INSTR(v_string,',',position_no,1)<>0) loop       ocurrence_no:=INSTR(v_string,',',position_no,1)-time_no;         tmp_string:=substr(v_string,                        position_no,                        ocurrence_no);         time_no:=INSTR(v_string,',',position_no,1)+1;         position_no:=INSTR(v_string,',',position_no,1)+1;

   dbms_output.put_line(tmp_string||'%');      Result:=true;   end loop;   return(Result); end F_CUT_STRING;

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值