v:='00101,00103'因为在过程中不能用IN,所以原来的
select a,b,c from talbe where a in (v)用instr代替,select a,b,c from talbe
where instr(v,a) > 0a字段的值有001,00101,00103,00104,00105,等等.其中有一条为001.
按上述含有instr的语句查询出来的结果就有三条记录,把001也查出来了,这当然不是我想要的结果.请帮帮我,谢谢!!
select a,b,c from talbe where a in (v)用instr代替,select a,b,c from talbe
where instr(v,a) > 0a字段的值有001,00101,00103,00104,00105,等等.其中有一条为001.
按上述含有instr的语句查询出来的结果就有三条记录,把001也查出来了,这当然不是我想要的结果.请帮帮我,谢谢!!
解决方案 »
- 有没有人熟悉物化视图建分区的语句?
- 一条复杂的sql,求优化
- 紧急求助 再JOB中执行存储过程会报ORA-01422: exact fetch returns more than requested number of rows错误
- 如何建创用户,如何把以有的空间库用户,改为另外一个用户使用!
- ****************新手SQLloader时间格式指定***************
- 按日期动态生成子表的问题
- 怎样才能用system身份远程登录oracle?
- Win2K启动后Oracle数据库总在关闭状态,为什么?怎么修改?
- 新手问题
- 100分求助!不使用游标,在Oracle的过程中如何才能返回多条记录!????
- 高分求助,关于oracle中处理过程函数利用游标返回结果集的问题。
- 求教关于union all问题,急,急,急!
where instr(a,'00101') > 0
or insrt(a,'00103')> 0
where instr(','||v||',',','||a||',') > 0行吗?没测试
先将变量
v:='00101,00103' 变成v:=',101,00103,'语句变成
select a,b,c from talbe
where instr(v,','||a||',') > 0
select a,b,c from talbe
where instr(','||v||',', ','||a||',') > 0
where instr( ','||v , ','||a ) > 0
如:
在v和a最后加上一个‘,’
00101, 00103,
然后
用a中的数据(带上‘,’)
instr(v,a)就可以拉!