本帖最后由 zhangyyy_10 于 2012-12-04 14:15:51 编辑

解决方案 »

  1.   


    select case 
      
      when 2 = 1 then
      
      (select 1 from dual where to_char(rqst_datetime,'yyyy-mm-dd')= '2012-12-03') 
      
      when 2 = 2 then
      
     (select 1 from dual where ivg_frm_id = 100012) 
     
     end case from dual你这个查出来结果,要么是1要么是null..貌似就是看满足to_char(rqst_datetime,'yyyy-mm-dd')= '2012-12-03') 的条件存不存在。。
    你可以用子查询,去查满足条件的数据是否存在。。也可以用存储过程
      

  2.   

    忘了写了。。上面的是。。子查询exists..语句
      

  3.   


    估计你没看清楚我的问题,我需要在when后面传参数,根据参数,执行sql的某一部分,实现过滤
      

  4.   

    上面写的应该等同于exists语句,只不过用case做了分支处理,想要代码顺序清楚些,可以用存储过程,如果非要写一个sql语句的话,似乎怎么写都大同小异。
      

  5.   

    不了解你的具体需求啊,怎么写呢?就根据上面那个sql语句?这不是简单翻译一下就可以,最好有具体的东西,希望改成存储过程的话,还可以考虑一下。