codecamp

OceanBase COALESCE

COALESCE 函数返回参数列表中第一个非空表达式,必须指定最少两个参数。

语法

COALESCE(expr1, expr2[,…, exprn])

参数

参数

说明

expr1, expr2[,…, exprn]

非空表达式,且最少 2 个。

返回类型

返回参数列表中第一个非空表达式,如果所有的参数都是 NULL,则返回 NULL

示例

假设有一张表 product_informationproduct_id 为商品 ID,list_price 为该商品原价,min_price 为商品最低价,Sale 为商品实际售价。设置商品折扣为 9 折,计算各商品的实际售价。此时可使用 COALESCE 函数,若 list_price 为空,就按最低价 min_price 计算;若 min_price 也为空,则按 5 计算。

您可以执行以下语句,建立 product_information 数据表,并插入数据:

CREATE TABLE product_information(supplier_id INT, product_id INT,list_price numeric, min_price numeric);
INSERT INTO PRODUCT_INFORMATION VALUES ('102050', '1659', '45', NULL);
INSERT INTO PRODUCT_INFORMATION VALUES ('102050', '1770', NULL, '70');
INSERT INTO PRODUCT_INFORMATION VALUES ('102050', '2370', '305', '247');
INSERT INTO PRODUCT_INFORMATION VALUES ('102050', '2380', '750', '731');
INSERT INTO PRODUCT_INFORMATION VALUES ('102050', '3255', NULL, NULL);

执行以下查询语句:

SELECT product_id, list_price,min_price,COALESCE(0.9*list_price, min_price, 5) "Sale" 
FROM product_information WHERE supplier_id = 102050 ORDER BY product_id;

查询结果如下:

+--------------+--------------+------------+--------+
|  PRODUCT_ID  |  LIST_PRICE  |  MIN_PRICE |  Sale  |
+--------------+--------------+------------+--------+
|        1659  |       45     |            |  40.5  |
+--------------+--------------+------------+--------+
|        1770  |              |     70     |    70  |
+--------------+--------------+------------+--------+
|        2370  |      305     |    247     | 274.5  |
+--------------+--------------+------------+--------+
|        2380  |      750     |    731     |   675  |
+--------------+--------------+------------+--------+
|        3255  |              |            |     5  |
+--------------+--------------+------------+--------+
OceanBase VSIZE
OceanBase LNNVL
温馨提示
下载编程狮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; }