首页 新闻 会员 周边 捐助

ORACLE instr和substr函数用法

0
悬赏园豆:20 [已关闭问题]
<table class="mtxt" cellspacing="0" cellpadding="0"> <tbody> <tr> <td id="body"> <div class="msgfont">用pl/SQL写一个函数:传入的值是 {name}xiachufeng{worker_id}123456{email}xiachufeng@126.com 等以{}+value形式的一组有规则的字符<br />要求根据{}中的内容得到value<br />如果输入的{name} 得到xiachufeng<br />输入{worker_id} 得到123456<br />这个可以用instr 和substr函数做吧????????<br /><br />下面是写的一个函数<br />create or replace function fun_value(v_str varchar2,v_name varchar2)<br />return varchar2<br />is<br />&nbsp; v_strs varchar2(4000);<br />&nbsp; str_from number(4); --开始<br />&nbsp; str_to number(4); --结束<br />begin<br />&nbsp; v_strs := v_str||'{}';<br />&nbsp; str_from := instr(v_strs,'}',instr(v_strs,v_name),1);<br />&nbsp; str_to := instr(v_strs,'{',instr(v_strs,v_name),1);<br />&nbsp; return substr(v_strs, str_from+1, str_to-str_from-1);<br />end;<br />--用这个这个可以的<br />select fun_value('{name}xiachufeng{worker_id}123456{email}xiangchufeng.126.com','name') from dual<br />--用下面下面两个都不行 是不是函数写的有点问题???改怎麼改??? 謝謝 給分。。。。。。。。。。<br />select fun_value('{name}email{worker_id}123456{email}xiangchufeng.126.com','email') from dual<br />select fun_value('{name}xiachufeng{worker_id}123456{email}xiangchufeng.126.com','{email}') from dual</div> <!-- google_ad_section_end --><!--End_body//--></td> </tr> <tr> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> </tr> </tbody> </table>
你妹的sb的主页 你妹的sb | 初学一级 | 园豆:182
提问于:2010-07-26 13:23
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册