我写了两条语句select count(1) from t_jc_xzxk_shouli t where byzdb is null;
select count(1) from t_jc_xzxk_shouli t where byzdb <> '1';
前者能查到数据727936而后者却只能查到331条数据
难道null和<>'1'有这么大的区别?不明白,求赐教
select count(1) from t_jc_xzxk_shouli t where byzdb <> '1';
前者能查到数据727936而后者却只能查到331条数据
难道null和<>'1'有这么大的区别?不明白,求赐教
解决方案 »
- AWK替换操作,请大神指点
- group by 问题,在9i 和10i 结果不一样
- 数据库左联接问题,为何WHERE条件中不能添加右边表的查询条件?
- 急,怎么把数据转换为number(8,2),select to_number('2.10') from dual;
- 请教sql高手
- 如何知道程序中,正在处理数据库中的哪个表?
- 这条sql 语句怎么写呀?
- 如何最简单的把linux下的oracle某个用户下表结构移植到win2000的oracle上
- 初手请教:(1)如何判断一个变量是否为null?(2)如何取得指定日期中的天数?
- oracle提示错误,请教高手!!!
- oracle表的数据统计
- [在线]如何取得非char型字段的值(闪结贴型的侯佩)
你可以执行下面语句查一下byzdb有哪些值:
select distinct byzdb from t_jc_xzxk_shouli t;
SQL> select case when null <> 'a' then 'true' else 'false' end as result from dual;
RESULT
------
false
SQL> select case when null > 'a' then 'true' else 'false' end as result from dual;
RESULT
------
false
SQL> select case when null < 'a' then 'true' else 'false' end as result from dual;
RESULT
------
false
SQL> select case when null = 'a' then 'true' else 'false' end as result from dual;
RESULT
------
false
FROM t_jc_xzxk_shouli
group by BYZDB值为以下三者:无
null
NULL
null
NULL
这三个值
这个查出来的是byzdb字段为空的
select count(1) from t_jc_xzxk_shouli t where byzdb <> '1';
这个查出来的是byzdb字段 不为空 且 不等于 1 的在用=和<>做判断的时候,隐含一个条件is not null
这个两个查询的意义完全不同啊,数值一样才叫凑巧了呢