SELECT * FROM A WHERE instr(A('B'),''''||jcxm||'''')>0;
解决方案 »
- 一个筛选和排序的小问题
- 請問用oracel form builder 如何存取xml 文件﹖
- 各位好:关于oracle的一段代码为什么不输出的问题?
- 一个存储过程的解决方式,请教
- 急急。。。请高手进~~~~~~~~一个头疼的问题!!!!!!!!!!!熟系流程软件生成字段的进!!!!!!!!
- 那里可以下载ORACLE 10G 数据库?
- 在delphi程序里面如何访问别的计算机上的oracle数据库?
- 如何更改好多表中共同拥有的同一字段的长度,因为一个一个改太麻烦,请大侠赐教!
- 学习Oracle有哪些经典图书?谈谈你的看法!
- 新手提问:oracle的自动增加字段类型怎么表示,在线等待!
- pl/sql中,如何初始化结构?
- 大家帮忙呀,看这个语句怎么写呀,很简单呀!!!
WHERE JCXM IN ('JCXM1','JCXM2')
这个是什么意思
WHERE instr(A('B'),''''||jcxm||'''')>0
还想问问你,为什么这样子就不行
SELECT * FROM A WHERE JCXM IN A('B')
而
SELECT * FROM A WHERE instr(A('B'),''''||jcxm||'''')>0
就可以
希望你不吝赐教
如果换成变量 就成了 in "'a','b'" 后面是个字符串 当然不行
用instr就可以,判断是否在这个字符串中即可
换成变量 就成了 in "'a','b'"
SELECT * FROM A WHERE JCXM IN RTRIM(LTRIM(A('B'),'"'),'"')
谢谢了!!!
终于出来了………………
我终于明白了!!不知道理解的对不
就是说我的函数返回的是个字符串变量。只要调用A('B')她的返回值就是个字符串,是没有办法改变的。就算是加上RTRIM(A('B'),'"')返回的还是""'a','b'""……
按照你的说法
你如果返回一个'select ... from ... where ..'这样的字符串,应该是直接执行这个sql语句了
显然是不对的!