oracle instr>0,ORACLE instr和substr函数用法

aee7c0b99fa019a633be84ac79bc76ea.png

悬赏园豆:20

[已关闭问题]

57e7d7b654833469823ca1a38534c098.png

用pl/SQL写一个函数:传入的值是 {name}xiachufeng{worker_id}123456{email}xiachufeng@126.com 等以{}+value形式的一组有规则的字符
要求根据{}中的内容得到value
如果输入的{name} 得到xiachufeng
输入{worker_id} 得到123456
这个可以用instr 和substr函数做吧????????
下面是写的一个函数
create or replace function fun_value(v_str varchar2,v_name varchar2)
return varchar2
is
  v_strs varchar2(4000);
  str_from number(4); --开始
  str_to number(4); --结束
begin
  v_strs := v_str||'{}';
  str_from := instr(v_strs,'}',instr(v_strs,v_name),1);
  str_to := instr(v_strs,'{',instr(v_strs,v_name),1);
  return substr(v_strs, str_from+1, str_to-str_from-1);
end;
--用这个这个可以的
select fun_value('{name}xiachufeng{worker_id}123456{email}xiangchufeng.126.com','name') from dual
--用下面下面两个都不行 是不是函数写的有点问题???改怎麼改??? 謝謝 給分。。。。。。。。。。
select fun_value('{name}email{worker_id}123456{email}xiangchufeng.126.com','email') from dual
select fun_value('{name}xiachufeng{worker_id}123456{email}xiangchufeng.126.com','{email}') from dual
 
 

f979010df4146292bf3826d1f73d9bd5.png

你妹的sb

|

初学一级

|

园豆:182

提问于:2010-07-26 13:23

显示帮助

使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值