最近在做一个项目,慢慢的接近尾声了,所有模块也有了很突出的进展,可是我发现了一个问题,我们后台管理查询条件比较多,我是负责页面美工的,可是他们写的后台代码让人看了,有一种说不出的感觉,就是太冗余,可我也不知道用什么方法比较好,我想问大家一个问题,那就是在sql查询数据的时候,where后面的条件有多个,但是其中的一个查询条件传过来的是空值,怎样把这个空值设置为能够查询出所有数据的字段呢?
      望各位大侠前来指导、。ORACLE的哦!

解决方案 »

  1.   

    where 传入变量is null or(其他条件)
      

  2.   

    where col is null or(其他条件)
      

  3.   


    where col like Nvl(页面传过来的参数,'%')
      

  4.   

    where i_para is null or i_para(其他过滤条件)
      

  5.   

    where col is null or(其他条件)
      

  6.   

    where col = (case when 变量 is null then col else 变量)
      

  7.   

    大家可否详细点?我看不懂,那我现在用的是where1=1那种模式的,直接是判断的,用的String     。那种方法更好一些呢!大虾们请指教。。迷茫中,感觉你们的代码都是地宫一个人的,都太粗略了,真的看不懂
      

  8.   

    可以使用:
    where col like Nvl(页面传过来的参数,'%')
      

  9.   

    where col like Nvl(页面传过来的参数,'%')
      

  10.   

    这个可以多个使用吗
    我们现在使用了一个方法就是   配置了一个属性,然后使用Stirng配置的!不知道还有没有更好的方法!现在想找一个插件来控制页面信息的控制,使用了一个不能控制image和视屏如果能导入文件就好了!~不发感慨了,我看看源码,看看能改吧!
      

  11.   

    用IF ELSIF ===將那些條件過濾了,那樣雖然會有不少重復的語句,但勝在查詢時會快點~
      

  12.   

    where col is null or(其他条件) 在条件相同 重复执行 减少硬解析
      

  13.   

    和性能有关么如果和性能有关的话,一个小建议
    最好不要用有null值的字段做查询。