我想知道在 Oracle 中的两个 not equal操作符 <>和 !=之间是否有任何区别。
not equal
<>
!=
是否有这样的情况,他们可以给出不同的结果或不同的表现?
不,在功能上没有任何区别。 (对于所有其他 DBMS 也是如此——它们中的大多数都支持两种样式) :
下面是当前的 SQL 引用: https://docs.oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC
SQL 标准只为“ 不等于”定义了一个操作符,即 <>
实际上,这个操作符有 四形式:
<> != ^=
甚至
¬= -- worked on some obscure platforms in the dark ages
它们是相同的,但在需要逐字匹配时处理方式不同(存储大纲或缓存查询)。
在大学里,我们被教导“最佳实践”就是使用!= 在为雇主工作时,尽管以上所有操作员都具有相同的功能。
根据本文,! = 执行速度更快
Http://www.dba-oracle.com/t_not_equal_operator.htm