W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
COALESCE
函數(shù)返回參數(shù)列表中第一個非空表達(dá)式,必須指定最少兩個參數(shù)。
COALESCE(expr1, expr2[,…, exprn])
參數(shù) |
說明 |
---|---|
expr1, expr2[,…, exprn] |
非空表達(dá)式,且最少 2 個。 |
返回參數(shù)列表中第一個非空表達(dá)式,如果所有的參數(shù)都是 NULL
,則返回 NULL
。
假設(shè)有一張表 product_information,product_id 為商品 ID,list_price 為該商品原價,min_price 為商品最低價,Sale 為商品實(shí)際售價。設(shè)置商品折扣為 9 折,計(jì)算各商品的實(shí)際售價。此時可使用 COALESCE
函數(shù),若 list_price 為空,就按最低價 min_price 計(jì)算;若 min_price 也為空,則按 5 計(jì)算。
您可以執(zhí)行以下語句,建立 product_information 數(shù)據(jù)表,并插入數(shù)據(jù):
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);
執(zhí)行以下查詢語句:
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;
查詢結(jié)果如下:
+--------------+--------------+------------+--------+
| 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 |
+--------------+--------------+------------+--------+
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: