W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
NVL
函數(shù)從兩個(gè)表達(dá)式返回一個(gè)非 NULL
值。如果 expr1
與 expr2
的結(jié)果皆為 NULL
值,則 NVL
函數(shù)返回 NULL
。
NVL(expr1, expr2)
參數(shù) |
說明 |
---|---|
expr1 |
表達(dá)式。數(shù)據(jù)類型可以是 OceanBase 內(nèi)建數(shù)據(jù)類型 中的任何數(shù)據(jù)類型。 |
expr2 |
表達(dá)式。數(shù)據(jù)類型可以是 OceanBase 內(nèi)建數(shù)據(jù)類型中的任何數(shù)據(jù)類型。 |
expr1
和 expr2
必須是相同類型,或者可以隱式轉(zhuǎn)換為相同類型。如果它們不能隱式轉(zhuǎn)換,則 OceanBase 返回錯(cuò)誤。隱式轉(zhuǎn)換實(shí)現(xiàn)如下:
如果 expr1
是 CHAR
、NCHAR
、NVARCHAR
、VARCHAR2
或 VARCHAR
字符型數(shù)據(jù),則 OceanBase 在比較 expr1
之前將 expr2
轉(zhuǎn)換為 expr1
的數(shù)據(jù)類型,并返回 expr1
字符集的 VARCHAR2
。
如果 expr1
是 NUMBER
、FLOAT
、BINARY_FLOAT
或 BINARY_DOUBLE
數(shù)值型數(shù)據(jù),則 OceanBase 確定哪個(gè)參數(shù)具有最高的數(shù)字優(yōu)先級(jí),隱式地將另一個(gè)參數(shù)轉(zhuǎn)換為該數(shù)據(jù)類型,并返回該數(shù)據(jù)類型。
如果 expr1
、expr2
是 NULL
,則返回 NULL
。如果 expr1
是 CHAR
、NCHAR
、NVARCHAR
、VARCHAR2
或 VARCHAR
字符型數(shù)據(jù),則返回 expr1
字符集的 VARCHAR2
。如果 expr1
是 NUMBER
、FLOAT
、BINARY_FLOAT
或 BINARY_DOUBLE
數(shù)值型數(shù)據(jù),則返回 expr1
中具有最高數(shù)字優(yōu)先級(jí)的數(shù)據(jù)類型。
假設(shè)有一張表 EMPLOYEES,給員工姓名列 name 和傭金列 commission_pct 里面插入數(shù)據(jù),執(zhí)行以下語句:
CREATE TABLE EMPLOYEES (name VARCHAR(20),commission_pct float(5));
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 ('Eric', null);
查詢員工的姓名和傭金,如果員工沒有收到傭金,則顯示 Not Applicable。執(zhí)行以下語句:
SELECT name, NVL(TO_CHAR(commission_pct), 'Not Applicable') commission
FROM employees WHERE name LIKE 'B%' ORDER BY name;
查詢結(jié)果如下:
+--------------+----------------+
| NAME | COMMISSION |
+--------------+----------------+
| Baer | Not Applicable |
+--------------+----------------+
| Bada | Not Applicable |
+--------------+----------------+
| Boll | .1 |
+--------------+----------------+
| Bates | .15 |
+--------------+----------------+
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: