NVL2 函数根据表达式是否为空,返回不同的值。如果 expr1 不为空,则返回 expr2 的值,如果 expr1 为空,则返回 expr3 的值。expr2 和 expr3 类型不同的话,expr3 会转换为 expr1 的类型。

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计、做网站、宝山网络推广、小程序定制开发、宝山网络营销、宝山企业策划、宝山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供宝山建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
语法
NVL2(expr1, expr2, expr3)参数
|
参数 |
说明 |
|---|---|
|
expr1 |
表达式。数据类型可以是 OceanBase 内建数据类型 中的任何数据类型。 |
|
expr2 |
表达式。数据类型可以是 OceanBase 内建数据类型中的任何数据类型。 |
|
expr3 |
表达式。数据类型可以是 OceanBase 内建数据类型中的任何数据类型。 |
如果 expr2 和 expr3 的数据类型不同,则 OceanBase 将其中一个隐式转换为另一个。 如果它们不能隐式转换,则数据库返回错误。 如果 expr2 是字符或数字数据,则隐式转换规则如下:
-
如果
expr2是CHAR、NCHAR、NVARCHAR、VARCHAR2或VARCHAR字符型数据,则 OceanBase 在返回值之前将expr3转换为expr2的数据类型,除非expr3是NULL。 在这种情况下,不需要数据类型转换,数据库返回expr2字符集的VARCHAR2。 -
如果
expr2是NUMBER、FLOAT、BINARY_FLOAT或BINARY_DOUBL数值型数据,则 OceanBase 确定哪个参数具有最高的数值优先级,隐式地将另一个参数转换为该数据类型,并返回该数据类型。
返回类型
如果 expr1、expr2 是 NULL,则返回 NULL。如果 expr1 是 CHAR、NCHAR、NVARCHAR、VARCHAR2 或 VARCHAR 字符型数据,则返回 expr1 字符集的 VARCHAR2。如果 expr1 是 NUMBER、FLOAT、BINARY_FLOAT 或 BINARY_DOUBLE 数值型数据,则返回 expr1 中具有最高数字优先级的数据类型。
示例
假设有一张表 EMPLOYEES,给员工姓名列 name、薪资列 salary 和佣金列 commission_pct 里面插入数据,执行以下语句:
CREATE TABLE EMPLOYEES (name VARCHAR(20),salary VARCHAR(20),commission_pct numeric(10,2));
INSERT INTO EMPLOYEEs VALUES ('Baer', 10000, null);
INSERT INTO EMPLOYEEs VALUES ('Bada', 2800, null);
INSERT INTO EMPLOYEEs VALUES ('Boll', 5600, .25);
INSERT INTO EMPLOYEEs VALUES ('Bates', 7300, .39);
INSERT INTO EMPLOYEEs VALUES ('Broll', 4000, null);使用 NVL2 函数查询员工的总收入。如果员工的 commission_pct 列不为空,则员工的收入为工资加佣金,否则,收入仅仅为工资。执行以下语句:
SELECT name, salary,NVL2(commission_pct, salary + (salary * commission_pct), salary) income
FROM employees WHERE name like 'B%' ORDER BY name;查询结果如下:
+-------+--------+--------+
| NAME | SALARY | INCOME |
+-------+--------+--------+
| Bada | 2800 | 2800 |
| Baer | 10000 | 10000 |
| Bates | 7300 | 10147 |
| Boll | 5600 | 7000 |
| Broll | 4000 | 4000 |
+-------+--------+--------+
5 rows in set (0.02 sec) 新闻名称:创新互联OceanBase教程:OceanBaseNVL2
文章位置:http://www.jxjierui.cn/article/dhcjjjc.html


咨询
建站咨询
