codecamp

OceanBase SQL函数中的空值

SQL 函数中的空值指的是 SQL 函数的参数存在空值,当 SQL 函数的参数为空值时,大多数标量函数都返回 ​NULL​,分析函数会忽略空值。您可以通过 ​NVL​ 函数的返回值确定空值。

NVL 函数中的空值

NVL​ 函数的表达式为 ​NVL(expr1,expr2)​,如果 ​expr1​ 不是 ​NULL​,返回 ​expr1​,否则返回 ​expr2​。

如下所示,给定 ​expr1​ 参数为 ​NULL​,查询 ​NVL(expr1,0)​ 表达式的返回值。

执行以下语句:

SELECT NVL(NULL,0) FROM DUAL;

查询结果如下:

+-------------+
| NVL(NULL,0) |
+-------------+
|           0 |
+-------------+

expr1​ 是 ​NULL​,则表达式 ​NVL(expr1,0)​ 的返回值为 0;​expr1​ 不是 ​NULL​,则表达式的返回值为 ​expr1​。

分析函数中的空值

在使用 ​AVG​,​MAX​,​SUM​,​COUNT​ 等分析函数时,为 ​NULL​ 的纪录会被忽略。

如下所示,向 tbl_a 表中插入数据并执行以下语句:

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);

执行以下语句:

SELECT * FROM tbl_a;

查询结果如下:

+-------+-------+
| COL_A | COL_B |
+-------+-------+
| NULL  |     3 |
| NULL  |  NULL |
| NULL  |     1 |
+-------+-------+

查询的结果如下:

SELECT AVG(col_b) FROM tbl_a; -- 结果为 2 ,
SELECT MAX(col_b) FROM tbl_a; -- 结果为 3
SELECT SUM(col_b) FROM tbl_a; -- 结果为 4
SELECT COUNT(col_b) FROM tbl_a; -- 结果为 2 
SELECT COUNT(col_a) FROM tbl_a; -- 结果为 0
SELECT COUNT(*) FROM tbl_a;    -- 结果为 3

NULL​ 的纪录被忽略了。

OceanBase 空值概述
OceanBase 比较条件中的空值
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }