OceanBase LNNVL

2021-06-24 10:44 更新

LNNVL 函數(shù)判斷條件中的一個或者兩個操作數(shù)是否為 NULL。該函數(shù)可以在 WHERE 子句中使用,也可以作為 CASE 表達(dá)式中的 WHEN 條件。將條件作為參數(shù),如果條件為 FALSE 或 UNKNOWN,則返回 TRUE;如果條件為 TRUE,則返回 FALSE。

語法

LNNVL(condition)

參數(shù)

參數(shù)

說明

condition

條件

假設(shè) a = 2,b 值為 NULL,下表顯示了 LNNVL 函數(shù)的返回值。

條件

條件判斷結(jié)果

LNNVL 返回值

a = 1

FALSE

TRUE

a = 2

TRUE

FALSE

a IS NULL

FALSE

TRUE

b = 1

UNKNOWN

TRUE

b IS NULL

TRUE

FALSE

a = b

UNKNOWN

TRUE

返回類型

返回布爾型 TRUE 或 FALSE。

示例

假設(shè)有一張表 EMPLOYEES,給員工姓名列 name 和傭金列 commission_pct 里面插入數(shù)據(jù),執(zhí)行以下語句:

CREATE TABLE EMPLOYEES (name VARCHAR(20), commission_pct numeric(10,2));
INSERT INTO EMPLOYEEs VALUES ('Baer', null);
INSERT INTO EMPLOYEEs VALUES ('Bada', null);
INSERT INTO EMPLOYEEs VALUES ('Boll', 0.1);
INSERT INTO EMPLOYEEs VALUES ('Bates', 0.15);
INSERT INTO EMPLOYEEs VALUES ('Eros', null);
INSERT INTO EMPLOYEEs VALUES ('Girl', 0.25);

您想知道傭金率低于 20% 的員工人數(shù),包括沒有收到傭金的員工。執(zhí)行以下語句,您只能查詢實際獲得傭金低于 20% 的員工人數(shù):

SELECT COUNT(*) FROM employees WHERE commission_pct < .2;

查詢結(jié)果如下:

+------------+
|  COUNT(*)  |
+------------+
|        2   |
+------------+

要包括沒有收到傭金的另外 3 名員工,您需要使用 LNNVL 函數(shù)重寫查詢。執(zhí)行以下語句:

SELECT COUNT(*) FROM employees WHERE LNNVL(commission_pct >= .2);

查詢結(jié)果如下:

+------------+
|  COUNT(*)  |
+------------+
|      5     |
+------------+
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號