W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
SQL 函數(shù)中的空值指的是 SQL 函數(shù)的參數(shù)存在空值,當(dāng) SQL 函數(shù)的參數(shù)為空值時(shí),大多數(shù)標(biāo)量函數(shù)都返回 ?NULL
?,分析函數(shù)會(huì)忽略空值。您可以通過 ?NVL
? 函數(shù)的返回值確定空值。
?NVL
? 函數(shù)的表達(dá)式為 ?NVL(expr1,expr2)
?,如果 ?expr1
? 不是 ?NULL
?,返回 ?expr1
?,否則返回 ?expr2
?。
如下所示,給定 ?expr1
? 參數(shù)為 ?NULL
?,查詢 ?NVL(expr1,0)
? 表達(dá)式的返回值。
執(zhí)行以下語(yǔ)句:
SELECT NVL(NULL,0) FROM DUAL;
查詢結(jié)果如下:
+-------------+
| NVL(NULL,0) |
+-------------+
| 0 |
+-------------+
?expr1
? 是 ?NULL
?,則表達(dá)式 ?NVL(expr1,0)
? 的返回值為 0;?expr1
? 不是 ?NULL
?,則表達(dá)式的返回值為 ?expr1
?。
在使用 ?AVG
?,?MAX
?,?SUM
?,?COUNT
? 等分析函數(shù)時(shí),為 ?NULL
? 的紀(jì)錄會(huì)被忽略。
如下所示,向 tbl_a 表中插入數(shù)據(jù)并執(zhí)行以下語(yǔ)句:
CREATE TABLE tbl_a (col_a varchar2(1), col_b int );
INSERT INTO tbl_a VALUES (NULL, 3);
INSERT INTO tbl_a VALUES (NULL, NULL);
INSERT INTO tbl_a VALUES (NULL, 1);
執(zhí)行以下語(yǔ)句:
SELECT * FROM tbl_a;
查詢結(jié)果如下:
+-------+-------+
| COL_A | COL_B |
+-------+-------+
| NULL | 3 |
| NULL | NULL |
| NULL | 1 |
+-------+-------+
查詢的結(jié)果如下:
SELECT AVG(col_b) FROM tbl_a; -- 結(jié)果為 2 ,
SELECT MAX(col_b) FROM tbl_a; -- 結(jié)果為 3
SELECT SUM(col_b) FROM tbl_a; -- 結(jié)果為 4
SELECT COUNT(col_b) FROM tbl_a; -- 結(jié)果為 2
SELECT COUNT(col_a) FROM tbl_a; -- 結(jié)果為 0
SELECT COUNT(*) FROM tbl_a; -- 結(jié)果為 3
?NULL
? 的紀(jì)錄被忽略了。
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)系方式:
更多建議: