表中有些字段允许为空,现在对此表查询所有记录select * from 表 where字段1 like ‘%’ and字段2 like ‘%’ ……,
怎么此字段为空的记录查不出呢?
我知道select * from 表 where isnull(字段1,’’) like ‘%’ and isnull(字段2,’’)  like ‘%’ ……可以,但是每个字段都用isnull太麻烦了;
要如何才能查询出所有记录?

解决方案 »

  1.   

    要如何才能查询出所有记录?===select * from table
      

  2.   

    数据库中字段允许为空,并不是指为空字符串,而是dbnull
    select * from 表 where isnull(字段1,’’) like ‘%’ and isnull(字段2,’’)  like ‘%’ 是把dbnull替换成了空字符所以能查出来
      

  3.   

    select * from 表 where 字段1 = null
    应该可以查出空值
      

  4.   

    除了用isnull,还有什么方法吗?很急!
      

  5.   

    where字段like ‘%’,我意思是可能会有一个确定的值,也可能是%(这时应该是得到所有记录),可是为null值的就出不来
      

  6.   

    对NULL值有专门的处理方法,即IS NULL或者isnull(),所以like搜索不到NULL值.
    对于楼主的问题,除了使用isnull(列名,''),好像没有更好的办法了,只能在where后面罗列了,例如:
    where isnull(a,'') and isnull(b,'') and...
      

  7.   

    没什么方法,必须要用ISNULL,另外感觉你是在做什么所谓的通用查询吧?我看意义不大,你别乱折腾了
      

  8.   

    where 字段1 is null and 字段 is null...
    這樣嗎?