一个没有弄明白小问题,如果是逻辑类型的字段查询条件如 js_bz<>1 或(not(js_bz=1)) 和js_bz=0 or js_bz is null来查询为什么前面两个条件查询不出来后面的一个条件可以呢

解决方案 »

  1.   

    都是 null 值在做怪。
    一个Field is null时,你用Field=1结果为假,用Field<>1结果还是为假,所以判断不出来。
      

  2.   

    写成IsNull(js_bz,0)<>1即可。
      

  3.   

    结果我知道,但就是我不明白如果是别的类型,不是逻辑型的真或假的数据就可以查询出来,如上面的条件格式js_bz=1 可以查询出数据来,写成 not (js_bz=1) 或是js_bz<>1就没有数据出来了,再换成其它类型字段的如 name_type=' ' 改成not(name_type=' ')可以查询出来.但是同样的,这两个字段里面也都是有包含null值的数据呀.
    我本来是要用UPdate更新一些数据,但就是数据没有进去,加上这个更新语句里面有select语句和case计算查询来再更新的,折腾了我快一天才找到原因.开始我还以为是别的什么地方错误.数据更新不进去.
      

  4.   

    逻辑类型就0、1和null,如果应该为0的都写成了null,那么not(js_bz=1)不会有数据。