null不等于任何值的,你要单独写个or user is null

解决方案 »

  1.   

    改一下
    hql: from table where type.name like ... or user.name like ...   
    当user为null时,即使(type.name like ...)==true,也查不到数据。user为null的所有数据都查不到
    请问有没有人遇到过这样的问题,是什么原因,有没有解决方法我尝试了or (user is not null and user.name like ..) 结果同上
    or (case when user is not null then user.name like ...) unexpected AST node: case
      

  2.   

    不知道你是什么意思唉SQL> 
    SQL> with t as
      2   (select '1' userid, '张三' name
      3      from dual
      4    union all
      5    select '2' userid, '张四' name
      6      from dual
      7    union all
      8    select '2' userid, '李四' name
      9      from dual
     10    union all
     11    select '' userid, '张五' name
     12      from dual
     13    union all
     14    select '' userid, '李五' name from dual)
     15  select *
     16    from t
     17   where t.name like '张%'
     18      or userid is null
     19  /
     
    USERID NAME
    ------ ----
    1      张三
    2      张四
           张五
           李五
     
    SQL> 
      

  3.   

    如果是在Hadoop Hive里边,这样col=''