详解oracle mysql 中的“不等于“ <> != ^= is not

oracle mysql 中的“不等于“ <> != ^= is not

oracle

oracle中的 != 与 <> 和 ^= 都是不等于,逻辑上没有区别。官方推荐 <>,因为跨平台,可移植,兼容性强。

不等于,隐含着不为空,即is not null。

name <> 'Mike',会把名字不是Mike并且不为空的数据查出来。

mysql

mysql中,<> 和 != 相同。

is not用于判空,即 is not null,不是空的。select * from t where id is not null;   翻译成中文就是,从t表中查出id不是空的数据。这也是为什么当初专门为null发明is not这么一种表达方式。因为“等于空”这种说法,确实不严谨。某个值,可以等于1,等于2,但不应该说等于空,因为它就是空的。

oracle中的!=与<>和^=

!= 、 <>、^= 三个符号都表示“不等于”的意思,在逻辑上没有本质区别

但是要主义的是三个符号在表达“不等于”含义的同时,隐含一个“不为空 is not null”的前提,所以使用时null会被过滤掉。

例如数据库三条数据

姓名 性别
张三
李四
王五

但是官方更推荐“<>”的写法,因为跨平台可移植性更强。

到此这篇关于oracle mysql 中的“不等于“ <> != ^= is not的文章就介绍到这了,更多相关oracle mysql不等于内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(详解oracle mysql 中的“不等于“ <> != ^= is not)