^ 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;/ 登陆oracle11 Database Control 登陆 503 Service Unavailable 在win2003下没法装oracle??? 紧急,在线等!oracle问题 临时表怎样指定空间 SQL语句翻译 ORA-12560: TNS: 协议适配器错误 哪位大哥帮下忙,写个存储过程,取temp表中所有的记录!!!谢谢了!!! 请教一个sql的写法 一个撤销job的问题? 新建/删除用户和表的问题 关于取最新一次收费记录和倒数第二次收费记录? 请教高手,一个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;
/