對於=操作符,兩個值被比較,結果是0(不相等)或者1(相等)。
比較操作符<=>表示null安全的等價。這個比較操作符執行等價比較,和=操作符類似,但是如果兩個運算元都是null,會返回1,而不是返回null;如果其中乙個運算元是null,會返回0,而不是返回null。
當參與比較的兩個運算元都可能包含null,而你需要獲得兩個列的乙個一致性結果的時候,<=>比較操作符就很有用了。另外乙個用例是,對於prepared語句,例如:
... where col_a <
=
> ? ...
這裡的佔位符可能是標量或者null,並不需要對語句做任何修改。
<=>是mysql特有的語法:
'a'
is null
=
=
>
'a'
<
=
> null
'a'
is not null
=
=
> not(
'a'
<
=
> null)
mysql>
select
1 <=> 1,
null
<=>
null
, 1 <=>
null
;
-> 1, 1, 0
mysql>
select
1 = 1,
null
=
null
, 1 =
null
;
-> 1,
null
,
null
對於比較操作,(a,b)<=>(x,y)等價於:
(a <=> x)
and
(b <=> y)
MySql 中的 操作符
今天在學習資料庫的索引優化時,關於memory儲存引擎的的hash索引時,看到了操作符 這個操作符還是第一次見到,於是上網查了一下。我想大家應該知道 操作符吧,特別說明一下 與 都是不等於的意思,但是一般都是用 來 不等於因為 在任何sql中都起作用但是 在sql2000中用到,則是語法錯誤,不相容...
MySQL的and操作符和or操作符
有時對where的要篩選的列不止乙個時,那麼就用到了and操作符和or操作符,and操作符顧名思義的意思是 並且 而or操作符的意思是 或者 比如以部門員工表為例 查詢部門編號為d001並且入職日期為 1985 02 02的員工編號,那麼就要用到and操作符 那如果是查詢部門編號為d001或者入職日...
mongodb查詢操作符之比較操作符
qty 15,tags a b c qty 20,tags b qty 25,tags a b qty 30,tags b a 1.2.2 陣列欄位的陣列比較 查詢tags字段值包含子陣列 a b 的文件 db.inventory.find 等同於以下寫法 db.inventory.find 結果 ...