日期:2014-05-17  浏览次数:20464 次

关于数据库里int型数据为null的问题????
数据库里面有个字段isArchive是int型,但是我没有给它赋值,
所以它显示是null。
接着我用where语句来查找一些数据
where isArchive <> 2
为什么一条数据都没有显示出来????
2难道跟null相等吗????
求救啊!!!!!!!!!!!!!

------解决方案--------------------
我用ACCESS库试了一下,整型,默认值是0。当我在表中把默认值删除后。用同楼主一样的语句,就真的查不出来了。
 有人知道是什么原因吗?
------解决方案--------------------
不相等的,你可以试一下where isArchive =2,好像是因为isArchive为null不记录这个条件查询
------解决方案--------------------
呵呵,哥们int数据你给它设置一个默认值啥,一般设为0,这样就可以比较了,没有设置为空的说法了
------解决方案--------------------
null需要单独判断的,如果你不指定是否判断null的记录,默认情况下在查询时就跳过了null值的记录

像你的那条语句如果是判断不等于2(包含null)的话应该是
where isarchive is null or isarchive<>2
------解决方案--------------------
如果为空就给他个默认值为0 这样你不就好判断了?