Oracle“不等于号”与Null的情况
今天突然才发现,Oracle中的“不等于操作符”是忽略Null的。
比如,查询comm不等于的300的记录,我会理所当然地使用where comm != 300
预想会返回包含Null的不等于300的记录(意识里认为Null也是“不等于30”的其中一种情况)。
而实际上,它只返回不为Null且不等于300的记录,见如下测试。
使用SCOTT的公共数据测试:
--All data
select * from scott.emp t; --Not equal 300(Not contain null)
select * from scott.emp t where t.comm != 300; --Not equal 300(Does contain null)
select * from scott.emp t where t.comm != 300 or t.comm is null;
TEST
只返回comm不为null并且不等于300的记录。
事实上,并不仅仅“不等于号”与Null的关系是如此的,其他操作符也类似,只不过“不等于号”使用场景的特殊性让我们容易发觉此特性。
其中原因在于Null,关于Null的各种情况说明可见以下Oracle的文档:
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements005.htm
PS,见“寓言因永吟”回复。亦可使用LNNVL方法以解决此问题,具体Oracle文档描述如下:
http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions091.htm
Oracle“不等于号”与Null的情况的更多相关文章
- Oracle“不等于号”与Nulls的情况(转)
今天突然才发现,Oracle中的“不等于操作符”是忽略null的. 比如,查询comm不等于的500的记录,我会理所当然地使用where comm != 500 预想会返回包含null的不等于500的 ...
- Oracle不等于符号过滤null情况
在Oracle查询过程中,条件查询时,用"<>"操作符进行查询会过滤掉字段为null的记录. 一.不使用"<>"操作符查询:select ...
- Oracle中的不等于号
今天碰到一个Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下 关于Oracle中的不等于号: 在Oracle中, <> != ~= ^= 都是不等于号的意思. ...
- Oracle中奇怪的【不等于号】
Oracle中奇怪的[不等于号] 在Oracle中,不等号有三种:<>,!=,^= 例如: select * from test where name<>'xn'.返回的结 ...
- 问题:oracle 不等于;结果:Oracle中的不等于号
Oracle中的不等于号 今天碰到一个Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下 关于Oracle中的不等于号: 在Oracle中, <> != ~= ...
- 浅析Oracle中的不等于号
前几天碰到一个关于Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下,需要的朋友可以参考下 关于Oracle中的不等于号: 在Oracle中, <> != ...
- js里面的等于号--
一个是赋值等于号,二个是对比等于号,那么三个等于号是什么用的呢 有时候会看到在判断两个对象是否相等的时候使用了三个等号(===),它和两个等号(==)有什么区别呢?简单来说就是使用“==”时,如果 ...
- Oracle的条件in包含NULL时的处理
一.创建一个含表,表中只有一列为id,该列中含有值为NULL的记录 我们在写SQL时经常会用到in条件,如果in包含的值都是非NULL值,那么没有特殊的,但是如果in中的值包含null值(比如in后面 ...
- C#基础之==(双等于号)与equals()区别
C#中Equals和= =比较 这两种方式也是大家在日常编码工作当中用的比较多的判断方式.之前在使用的时候也没太关注两者在比较不同类型的时候存在哪些区别. 今天就和大家一起深入了解一下其中区别 一.值 ...
随机推荐
- poj 4014 Dice 贪心
//poj 4014 //sep9 #include <iostream> #include <algorithm> using namespace std; int n; s ...
- try/except/else语句
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python学习手册 868 #try/except/else语句 #try语句分句形式 except: # ...
- java IO流之文件切割两例(含Properties 用法)
package cn.itcast.io.p1.splitfile; import java.io.File;import java.io.FileInputStream;import java.io ...
- Move semantics(C++11)
/* * Compile with: * g++ move_test.c -o move_test -std=c++11 -g -fno-elide-constructors * ...
- leetcode || 58、Length of Last Word
problem: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', ret ...
- 更改虚拟内存(使用于win7、win8系统)
在使用电脑的过程中你肯定有这样的抱怨吧!电脑为什么越来越慢?C盘为什么越来越小?我们都非常清楚:C盘剩余空间量的大小,很大程度上决定着我们在使用电脑的过程中程序运行的速度.随着电脑软件越装越多,尽管我 ...
- Spring配置文件头信息
代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:// ...
- HDUOJ1060Leftmost Digit
Leftmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- HDUOJ---三角形(组合数学)
http://acm.hdu.edu.cn/showproblem.php?pid=1249 三角形 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- jQuery动态网格瀑布流插件Masonry
Masonry是一款非常强大的jQuery动态网格布局插件,可以帮助开发人员快速开发瀑布流界面效果.和CSS中float的效果不太一样的地方在于,float先水平排列,然后再垂直排列,使用Masonr ...