一个char(1)字段 column1, 里面的值可能是'Y','N',或为 null,我传入查询条件, column1 = ?
要求,传入'Y'查出 = 'Y' 的记录,传入'N' 查处 ='N'的记录,传入空串时查出 所有的记录,包含这个字段为null的
这个条件怎么写啊??  谢谢帮助!

解决方案 »

  1.   

    where column1 like 传入参数||'%'
      

  2.   

    不行啊,传入空串时只能查处 = 'Y'和='N'的,查不出那条为 null的
      

  3.   

    用nvl(column1,'0')=decode(传入参数,'','0',传入参数)
    这样试试
      

  4.   

    nvl(column1,'0') like 传入参数 ¦ ¦'%'
      

  5.   

    后台,直接一个SQL语句实现,select * from table where column1 = nvl('',column1) 这样只能查出=Y,=N或传入空串时将Y和N的都查出,我希望传入空串时把column1 is null 的也查出来,但在传入 Y 或 N 时,不要查出null的
      

  6.   

    hebo2005  在5楼的这个 nvl(column1,'0') like 传入参数 ¦¦'%'  确实实现了我的要求了,能给我解释下这个查询吗?有点看不明白,呵呵,谢谢!
      

  7.   


    这个就是将column1中的空值用0来替换,避免空值无法查询的情况发生