OceanBase 比較運(yùn)算符

2021-06-30 13:56 更新

以下為所有比較運(yùn)算符列表:

運(yùn)算符

操作數(shù)

含義

NULL 參與運(yùn)算

=

二元

等于。

結(jié)果為 NULL。

<> / !=

二元

不等于。

結(jié)果為 NULL。

>

二元

大于。

結(jié)果為 NULL。

>=

二元

大于等于。

結(jié)果為 NULL。

<

二元

小于。

結(jié)果為 NULL。

<=

二元

小于等于。

結(jié)果為 NULL。

[NOT] IN

二元

是否在集合中。

詳見(jiàn)下方說(shuō)明。

[NOT] BETWEEN AND

三元

是否在區(qū)間內(nèi)。

詳見(jiàn)下方說(shuō)明。

IS [NOT] TRUE

一元

是否等于TRUE。

結(jié)果為 TRUE 或 FALSE。

IS [NOT] FALSE

一元

是否等于FALSE。

結(jié)果為 TRUE 或 FALSE。

IS [NOT] NULL

一元

是否等于NULL。

結(jié)果為 TRUE 或 FALSE。

<=>

二元

安全等于。

結(jié)果為 TRUE 或 FALSE。

以下為部分運(yùn)算符對(duì) NULL 的特殊處理:

  • ?value [NOT] IN ():?
    • ?value? 為 NULL 時(shí),結(jié)果為 NULL。
    • ?value? 不為 NULL、且集合包含 NULL 時(shí),如果集合中有非 NULL 值與 value 相等,則結(jié)果為 TRUE,否則為 NULL。
  • ?value [NOT] BETWEEN lower AND upper:?
    • ?value? 為 NULL、或 ?lower? 和 ?upper? 都為 NULL 時(shí),結(jié)果為 NULL。
    • ?value? 不為 NULL、且只有? lower/upper ?為 NULL 時(shí),如果只通過(guò) ?value? 和 ?lower/upper? 就能確定運(yùn)算結(jié)果,則直接使用這個(gè)結(jié)果,否則返回 NULL。

    例如:

    obclient> SELECT 1 IN (1, NULL), 1 IN (2, NULL);
    +----------------+----------------+
    | 1 IN (1, NULL) | 1 IN (2, NULL) |
    +----------------+----------------+
    |              1 |           NULL |
    +----------------+----------------+
    1 row in set (0.01 sec)
    
    obclient> SELECT 1 BETWEEN 0 AND NULL, 1 BETWEEN 2 AND NULL;
    +----------------------+----------------------+
    | 1 BETWEEN 0 AND NULL | 1 BETWEEN 2 AND NULL |
    +----------------------+----------------------+
    |                 NULL |                    0 |
    +----------------------+----------------------+
    1 row in set (0.01 sec)



以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)