coalesce
语法
注意:连接操作符“||”是一个值得注意的例外。
例如,空值加任何值都是空值,空值 乘任何值也都是空值,依此类推。
参数
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
nvl(bonus,0) 意思是 如果 bonus is null , 那么返回 0, 否则返回 bonus coalesce(bonus,0,1) 意思是 返回 参数列表中, 第一个非 空的数据。也就是相当于, 如果 bonus is null , 那么返回 0, 否则返回 bonus。这里的最后一个参数 1, 目测是打酱油的。 coalesce(bonus,null,0) 意思是 返回 参数列表中, 第一个非 空的数据。也就是相当于, 如果 bonus is null , 那么第2个参数还是 null, 最后返回第3个参数 0 decode(name,‘apple’,0) 意思是, 如果 name = ‘apple‘ 那么返回 0否则的话 , 就是返回 null 了。
时间: 2024-11-06 16:17:51