Sql-Standard
<>
是什麼意思?
<>
在以下WHERE
子句中做了什麼,WHERE posn_id <> rid
WHERE posn_id <> rid
將返回兩者都不是
posn_id
以及它們不同的所有行。rid``NULL
not equals operator
它是一個簡單的comparison predicate
(WHERE
語句)中的 ANSI SQL-Compliant 。通俗地說,就是*“不等式運算元”*。儘管許多數據庫都接受替代方案!=
,但規範本身並未提及,如果支持!=
,則不應使用。<>
SQL 使用三值邏輯,可能的值為
true
,false
或unknown
。該WHERE
子句過濾掉除謂詞計算為 的行之外的所有行true
。
- 如果一方或雙方是
null
,則運算符返回unknown
。- 在兩邊都不是
=
的不等式上,運算符返回 true。- 在相等時,
<>
返回 false。在 null 處理上,類似的運算符是
IS DISTINCT FROM
將 null 視為普通值,來自 PostgreSQL 文件對於非空輸入,
IS DISTINCT FROM
與運算符相同<>
。但是,如果兩個輸入都null
返回 false,如果只有一個輸入,null
則返回 true。有關比較運算符的 RDBMS 特定文件,另請參閱
這只是拼寫“不等於”運算符的另一種方式,可以替代
!=