pl/sql中,一个简单的存储过程和字符串判别的问题! 你可以通过instr('3,12,2,4,5,6',',2,')不就行了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面的sql正确执行有一个前提就是数字后面紧跟着逗号,如果不满足先自己整理一下。select decode(substr('12,2,3,23,127',1,2),'2,',1,0) + decode(substr('12,2,3,23,127',-2),',2',length('12,2,3,23,127'),0) + instr('12,2,3,23,127', ',2,') + 1 pos from dual;返回的位置是正确的,写得太长,让您见笑了。 更正;上面的sql返回的位置不一定正确,但可以判断是否有你找的数字。突然又想起来一个更好的办法SQL> var father varchar2(100);SQL> begin 2 :father := '2,3,4,2,65,22,3,23,2,12,2'; 3 end; 4 /SQL> print father;FATHER--------------------------2,3,4,2,65,22,3,23,2,12,2SQL> select instr(','||:father||',', ',2,',1,1) pos from dual; POS---------- 1SQL> select instr(','||:father||',', ',2,',1,2) pos from dual; POS---------- 7 第一个问题已经解决。方法和阿童木的第二个方法差不多,不同的是我是在第二个字符串前后加入‘,’。当然更要感谢 myx7852(无极)了,他虽然不能直接找出结果,但是给我了一个方法。现在,对于第二个问题,那位友好的建议呢? 我现在有一个思路,就是建立了一个中间表,表的字段为要输入的参数。前端执行插入表纪录的操作。同时对表建立after insert触发器,触发器中调用我写好的存储过程。不知道思路科正确那,现在我的数据量少,前端程序反映不到这种方法的高效性。这样应该没有问题吧? 求高手看看这个SQL该怎么写 求SQL语句 请问用什么工具可以可视化的看数据库结构(如表结构、表与表之间关系)的工具? 关于存储过程中的一个循环操作的问题 无效表名怎么删除啊? 如何在pro*c中调用存储过程,且名字未知 为什么用 PLSQL Developer工具,执行一些SQL语句时,不能一次执行多条,只能选中某一条,一条条执行??? 来看看如何写这条外连接的sql语句 安装8.17在P4 WIN2000上,刚装完是好的,重起后进入SQL/PLUS出现错误 怎么才能让一个字段自增长????谢谢 请教ORACLE中的查询语句,急,在线等待,请帮忙! 迷惑的组合查询!
+ decode(substr('12,2,3,23,127',-2),',2',length('12,2,3,23,127'),0)
+ instr('12,2,3,23,127', ',2,') + 1 pos from dual;
返回的位置是正确的,写得太长,让您见笑了。
突然又想起来一个更好的办法
SQL> var father varchar2(100);
SQL> begin
2 :father := '2,3,4,2,65,22,3,23,2,12,2';
3 end;
4 /
SQL> print father;
FATHER
--------------------------
2,3,4,2,65,22,3,23,2,12,2
SQL> select instr(','||:father||',', ',2,',1,1) pos from dual;
POS
----------
1SQL> select instr(','||:father||',', ',2,',1,2) pos from dual;
POS
----------
7
前后加入‘,’。当然更要感谢 myx7852(无极)了,他虽然不能直接找出结果,但是给我了
一个方法。
现在,对于第二个问题,那位友好的建议呢?
执行插入表纪录的操作。同时对表建立after insert触发器,触发器中调用
我写好的存储过程。不知道思路科正确那,现在我的数据量少,前端程序反映
不到这种方法的高效性。这样应该没有问题吧?