Oracle Sql 中的“ ! =”和“ < >”有什么区别吗?

我想知道在 Oracle 中的两个 not equal操作符 <>!=之间是否有任何区别。

是否有这样的情况,他们可以给出不同的结果或不同的表现?

324610 次浏览

不,在功能上没有任何区别。
(对于所有其他 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