请教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> tab 和tabs 有啥区别 请问一下视图和存储过程的作用 没sysdba权限,如何解锁 A存储过程调用B存储过程,要得到B存储过程的某个指定输出参数,怎么做? 客户端显示表的一个问题 oracle数据库监控软件? 大家来看看这个 求助一个多个表连接的问题 求救sql语 sqlldr遇到中文timestamp类型数据该如何导入 如何插入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>