複製鏈接
請複製以下鏈接發送給好友

coalesce

鎖定
COALESCE是一個函數, (expression_1, expression_2, ...,expression_n)依次參考各參數表達式,遇到非null值即停止並返回該值。如果所有的表達式都是空值,最終將返回一個空值。使用COALESCE在於大部分包含空值的表達式最終將返回空值。
中文名
依次參考各參數
外文名
coalesce
參    數
expression
數據庫
Mysql Oracle
返回類型
expression

coalesce語法

注意:連接操作符“||”是一個值得注意的例外。
例如,空值加任何值都是空值,空值 乘任何值也都是空值,依此類推。

coalesce參數

expression
任何類型的表達式
n
表示可以指定多個表達式的佔位符。所有表達式必須是相同類型,或者可以隱性轉換為相同的類型。

coalesce數據庫

Mysql

coalesce返回類型

將相同的值作為 expression 返回。

coalesce作用

返回表達式中第一個非空表達式,如有以下語句:
SELECT COALESCE(NULL,NULL,3,4,5) FROM dual
其返回結果為:3

coalesce註釋

如果所有自變量均為 NULL,則 COALESCE 返回 NULL 值。
COALESCE(expression1,...n) 與此 CASE 函數等價:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL

coalesce示例

在下面的示例中,顯示包含三列有關某個僱員每年工資收入信息的 wages 表:hourly_wage、salary 和 commission。但是,每個僱員只能接受一種付款方式。若要確定支付給所有僱員的工資總額,請使用 COALESCE 函數接受在 hourly_wage、salary 和 commission 中找到的非空值
SET NOCOUNT ON
GO
USE master
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'wages')
DROP TABLE wages
GO
CREATE TABLE wages
(
emp_id tinyint identity,
hourly_wage decimal NULL,
salary decimal NULL,
commission decimal NULL,
num_sales tinyint NULL
)
GO
INSERT wages VALUES(10.00, NULL, NULL, NULL)
INSERT wages VALUES(20.00, NULL, NULL, NULL)
INSERT wages VALUES(30.00, NULL, NULL, NULL)
INSERT wages VALUES(40.00, NULL, NULL, NULL)
INSERT wages VALUES(NULL, 10000.00, NULL, NULL)
INSERT wages VALUES(NULL, 20000.00, NULL, NULL)
INSERT wages VALUES(NULL, 30000.00, NULL, NULL)
INSERT wages VALUES(NULL, 40000.00, NULL, NULL)
INSERT wages VALUES(NULL, NULL, 15000, 3)
INSERT wages VALUES(NULL, NULL, 25000, 2)
INSERT wages VALUES(NULL, NULL, 20000, 6)
INSERT wages VALUES(NULL, NULL, 14000, 4)
GO
SET NOCOUNT OFF
GO
SELECT CAST(COALESCE(hourly_wage * 40 * 52,
salary,
commission * num_sales) AS money) AS 'Total Salary'
FROM wages
GO
下面是結果集
Total Salary
------------
20800.0000
41600.0000
62400.0000
83200.0000
10000.0000
20000.0000
30000.0000
40000.0000
45000.0000
50000.0000
120000.0000
56000.0000

coalescecoalesce單詞基本概括

coalesce單詞音標

英音:[,kəuə'les]美音:[,koə'lɛs]

coalesce詞典解釋

不及物動詞vi.
1. 聯合
2. (挫傷的骨頭)接合;(傷口)癒合

coalesce網絡釋義

1. 聯合,合併,結合
coalesce v.聯合,合併,結合
2.(政黨)聯合,癒合,接合
6. coalesce (政黨)聯合,癒合,接合
3.結合,聯合
coalesce v 結合,聯合