coalesce (expression_1, expression_2, ...,expression_n)依次參考各引數表示式,遇到非null值即停止並返回該值。如果所有的表示式都是空值,最終將返回乙個空值。使用coalesce在於大部分包含空值的表示式最終將返回空值。
1基本資訊
▪ 語法
▪ 引數
▪ 返回型別
▪ 作用
▪ 注釋
2示例
3基本概括
▪ 詞典解釋
▪ 網路釋義
注意:連線操作符「||」是乙個值得注意的例外。
例如,空值加任何值都是空值,空值 乘任何值也都是空值,依此類推。
expression
任何型別的
表示式。
n表示可以指定多個
表示式的
佔位符。所有表示式必須是相同型別,或者可以隱性轉換為相同的型別。
資料庫
mysql
將相同的值作為 expression
返回。返回表示式中第乙個非空表示式,如有以下語句:
select coalesce(null,null,3,4,5) from
dual 其
返回結果為:3
如果所有自變數均為 null,則 coalesce
返回 null 值。
coalesce(expression1,...n) 與此 case 函式等價:
case
when (expression1 is not null) then expression1
...when (expressionn is not null) then expressionn
else null
在下面的示例中,顯示包含三列有關某個雇員每年工資收入資訊的 wages 表:hourly_wage、salary 和 commission。但是,每個雇員只能接受一種付款方式。若要確定支付給所有雇員的工資總額,請使用 coalesce 函式接受在 hourly_wage、salary 和 commission 中找到的非
空值。set nocount on
gouse master
if exists (select table_name from information_schema.tables
where table_name = 'wages')
drop table wages
gocreate 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)
goset nocount off
goselect 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
**:
sp executesql返回多個值
declare sql nvarchar 2000 declare cc int declare ss int select sql n select c select count from yg select s select sum b id from yg execute sp execute...
從函式中返回多個值的方法
原文 第一種方法是利用全域性變數,因此根本不用返回,只要直接給全域性變數賦值即可。例 dim intnumber 1 intnumber 1 40 dim intnumber 2 intnumber 2 80 public sub passvalues intnumber 1 intnumber 1...
方法out(返回多個值)
static void main string args foreach int s in intnum 遍歷,自己看一下隨機數組元素後的陣列 int result 定義乙個變數,用於接收陣列的和 int max 用於接收陣列的最大值 int min 用於接收陣列的最小值 result comput...