oracle where条件分支查询

select *
from test xx
where (? = '-' AND  xx.xxx IN (select aa.XXXfrom AA aa))
       OR 
      (?<> '-' AND xx.xxx IN
(SELECT xsdf FROM xxx WHERE ddd =
'pp' OR ddd= 'bbb')) ;


?表示传入的参数 比如传一个 100 就是 '100' = '-' 当传入的参数等于-时 执行 后面的语句 否则 不等-时执行第二个括号里面的语句

注意?不是属性名 而是具体的值


猜你喜欢

转载自forlan.iteye.com/blog/2308310