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

寻技术 Mysql / Oracle 2023年07月11日 63

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会被过滤掉。

例如数据库三条数据

姓名 性别
张三
李四
王五

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

原文地址:https://globalcoding.blog.csdn.net/article/details/130163346
关闭

用微信“扫一扫”