请教sql高手(急) 表中有一个字段col,它的类型是varchar2的,它存储的格式为“123.45@@111@@...”,现在的问题是能不能在存储过程中用PL/SQL实现如下功能:取出col的值后以“@@”为分割符分割出123.45和111等,即实现java语言中String的split方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://builder.com.com/5100-6388_14-5259821.htmlOracle Tip: Create functions to join and split strings in SQL http://community.csdn.net/Expert/topic/3834/3834618.xml?temp=.5723078 for example:SQL> declare 2 v_str varchar2(50); 3 begin 4 v_str:='123@@12.45@@248'; 5 while instr(v_str,'@@')>0 loop 6 dbms_output.put_line(substr(v_str,1,instr(v_str,'@@')-1)); 7 v_str:=substr(v_str,instr(v_str,'@@')+2); 8 end loop; 9 dbms_output.put_line(v_str); 10 end; 11 /12312.45248PL/SQL 过程已成功完成。SQL> 有关Oracle日志不正常频繁切换的问题 关于存储过程与事务的一个小问题 通过数据链接查询远程数据库时,索引有效吗? 使用oracle10.1的一些怪问题,急,在线等??? oracle 10g客户端有什么作用啊 安装Oracle9i无报错失败,奇怪 如何把用户连接Oracle的方式从专用改为共享? [求助]数据大小超出此类型的最大值 关于ORACLE的默认值的设定的问题??望指点一二 resource设置为false,但是plsql连接的时候过一会就自动断开 如何插入lob类型的数据 odbc连接数据库的奇怪de异常
Oracle Tip: Create functions to join and split strings in SQL
2 v_str varchar2(50);
3 begin
4 v_str:='123@@12.45@@248';
5 while instr(v_str,'@@')>0 loop
6 dbms_output.put_line(substr(v_str,1,instr(v_str,'@@')-1));
7 v_str:=substr(v_str,instr(v_str,'@@')+2);
8 end loop;
9 dbms_output.put_line(v_str);
10 end;
11 /
123
12.45
248PL/SQL 过程已成功完成。SQL>