139

我想知道这两个not equal运算符之间<>!=Oracle 中是否有任何区别。

是否存在它们可以给出不同结果或不同性能的情况?

4

4 回答 4

124

不,功能上没有任何区别。
(所有其他 DBMS 也是如此——它们中的大多数都支持这两种样式):

这是当前的 SQL 参考:https ://docs.oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC

SQL 标准只为“不等于”定义了一个运算符,即<>

于 2012-05-18T10:24:10.090 回答
53

实际上,这个运算符有四种形式:

<>
!=
^=

乃至

¬= -- worked on some obscure platforms in the dark ages

它们是相同的,但在需要逐字匹配(存储大纲或缓存查询)时处理不同。

于 2012-05-18T10:32:24.267 回答
1

在大学里,我们被教导“最佳实践”是在为雇主工作时使用 !=,尽管上面的所有运算符都具有相同的功能。

于 2012-05-18T14:25:09.027 回答
-2

根据这篇文章, != 执行得更快

http://www.dba-oracle.com/t_not_equal_operator.htm

于 2015-06-29T23:31:02.677 回答