悬赏园豆: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 /> v_strs varchar2(4000);<br /> str_from number(4); --开始<br /> str_to number(4); --结束<br />begin<br /> v_strs := v_str||'{}';<br /> str_from := instr(v_strs,'}',instr(v_strs,v_name),1);<br /> str_to := instr(v_strs,'{',instr(v_strs,v_name),1);<br /> 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> </td>
</tr>
<tr>
<td> </td>
</tr>
</tbody>
</table>