oracle中null=null得出的结果是... ...

来源:互联网 发布:淘宝如何导出买家信息 编辑:程序博客网 时间:2024/04/29 08:04



在java语言中  if( null == null) 得出的结果是 false ,为什么呢?  因为 null 和任何值比较得出的结果都是false。

在oracle中 如果在where条件中有 null = null 的结果也是false的。


例子表:

select * from EMP

执行结果  一共16条



select * from EMP 
WHERE ENAME = ENAME AND JOB = JOB

执行结果:因为JOB = JOB  有一个是null  条件为false 所以只有15条记录了。




为了避免  字段1=字段1 这种场景:

@JOB 为变量
当@JOB为'全部' 时筛选全部的数据。当为其他值时根据条件筛选


select * from EMP 
WHERE (@JOB = '全部' OR JOB = @JOB)


0 0
原创粉丝点击