我写了两条语句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'有这么大的区别?不明白,求赐教
解决方案 »
- dbt 做了一个小东西把oracle数据库结构转化为文本文件,方便大家管理和开发
- 在oracle数据库中,员工考勤统计怎么写sql语句,查询出勤率,迟到次数,早退次数,旷工次数
- ORACLE导出用户下的数据库语法
- 再次呼叫oracle高手
- oracle 创建用户
- 为什么我用dba身份连接数据库就说,oracle还没有连接?
- 如何取出上个星期的日期
- 在ORACLE中两个SQL或两个以上语句如何写呀?
- 怎么写序号生成器(Number (8)),又怎么在SQL的Insert中调用?
- oracle pro*c程序编译报ora 1036非法的变量名
- 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
这个两个查询的意义完全不同啊,数值一样才叫凑巧了呢