^ o ^ 把两个字符串嵌套成一个字符串 用两个数组分别存放字段名:fename[aaa,bbb,ccc],fcname[第一,第二,第三]之后,生成最后的sql="select "+a(1)+b(1)+","... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 kmlinda的思路不错。我正在考虑用正则表达式,还不知能否解决。 declare thesql varchar2(100):='Select aaa,bbb,ccc From Table1'; newsql varchar2(100):='第一, 第二, 第三,gerger'; pos1 number(8):=0; pos2 number(8):=0; newpos1 number(8); newpos2 number(8); result varchar2(200):=''; s varchar2(100);begin loop newpos1:= Instrb(thesql, ',', pos1+1); exit when newpos1=0; newpos2 := Instrb(newsql, ',', pos2+1); if newpos2=0 then newpos2:=lengthb(newsql)+1; end if; result:= result || substrb(thesql, pos1+1, newpos1-pos1-1) || ' ' || substrb(newsql,pos2+1,newpos2-pos2-1) || ','; pos1 := newpos1; pos2 := newpos2; end loop; s:=trim(substrb(thesql,pos1+1)); pos1:=Instrb(s,' '); newpos2 := Instrb(newsql, ',', pos2+1); if newpos2=0 then newpos2:=lengthb(newsql)+1; end if; result := result || substrb(s,1,pos1) || substrb(newsql,pos2+1,newpos2-pos2-1) || substrb(s,pos1); dbms_output.put_line(result);end;/ 怎么查询用户拥有的对象权限 oracle怎样使用 ORACLE MERGE INTO 向空表中插入数据 求助:SQl语句的拼写 关于存储过程的问题,急!!! 在 RedHat 5(32位) 下 安装 Oracle Application Server 10g 请教截取字符串部分内容的问题! 如何在windows2003下安装oracle9i float格式的数据增加不了?帮帮忙? oracle 极限计算求大神帮忙 关于取最新一次收费记录和倒数第二次收费记录? 请教高手,一个ORACLE的多表update的难题!!!
我正在考虑用正则表达式,还不知能否解决。
thesql varchar2(100):='Select aaa,bbb,ccc From Table1';
newsql varchar2(100):='第一, 第二, 第三,gerger';
pos1 number(8):=0;
pos2 number(8):=0;
newpos1 number(8);
newpos2 number(8);
result varchar2(200):='';
s varchar2(100);
begin
loop
newpos1:= Instrb(thesql, ',', pos1+1);
exit when newpos1=0;
newpos2 := Instrb(newsql, ',', pos2+1);
if newpos2=0 then
newpos2:=lengthb(newsql)+1;
end if;
result:= result || substrb(thesql, pos1+1, newpos1-pos1-1) || ' ' || substrb(newsql,pos2+1,newpos2-pos2-1) || ',';
pos1 := newpos1;
pos2 := newpos2;
end loop;
s:=trim(substrb(thesql,pos1+1));
pos1:=Instrb(s,' ');
newpos2 := Instrb(newsql, ',', pos2+1);
if newpos2=0 then
newpos2:=lengthb(newsql)+1;
end if;
result := result || substrb(s,1,pos1) || substrb(newsql,pos2+1,newpos2-pos2-1) || substrb(s,pos1);
dbms_output.put_line(result);
end;
/