COALESCE
函数返回参数列表中第一个非空表达式,必须指定最少两个参数。
COALESCE(expr1, expr2[,…, exprn])
参数 |
说明 |
---|---|
expr1, expr2[,…, exprn] |
非空表达式,且最少 2 个。 |
返回参数列表中第一个非空表达式,如果所有的参数都是 NULL
,则返回 NULL
。
假设有一张表 product_information,product_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 |
+--------------+--------------+------------+--------+
COUNT函数用于查询expr的行数。语法COUNT({ * | [ DISTINCT | UNIQUE | ALL ] expr }) [ OVER (analytic_clause) ]作为分析函数...
为了方便开发者,本文档提供了全量接口和组件中适用于轻量级智能穿戴的部分,以及构建布局、绘制样式、事件交互、页面路由等主要...
鸿蒙OS 车机概述鸿蒙OS 驾驶安全管控鸿蒙OS 车辆控制鸿蒙OS 打造车载系统应用鸿蒙OS 创建车载应用项目鸿蒙OS 添加多媒体支持...
Lifecycle.Eventjava.lang.Object |---java.lang.EnumLifecycle.Event |---|---ohos.aafwk.ability.Lifecycle.Eventpublic stati...
ICleanCacheCallbackpublic interface ICleanCacheCallbackextends IRemoteBroker提供可调用以清除应用程序缓存的回调。方法总结...
CommonEventInfojava.lang.Object |---ohos.bundle.CommonEventInfopublic class CommonEventInfoextends Objectimplements Sequ...