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