coalesce和nvl函数

coalesce 函数 :


Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果

都为空则返回空值。
注意:所有表达式必须为同一类型或者能转换成同一类型。

返回第一个不为空的


CREATE OR REPLACE VIEW v AS
SELECT NULL AS C1, NULL AS C2,    1 AS C3, NULL AS C4,    2 AS C5, NULL AS C6 FROM DUAL UNION ALL
SELECT NULL AS C1, NULL AS C2, NULL AS C3,    3 AS C4, NULL AS C5,    2 AS C6 FROM DUAL;


SQL> select * from v;

C C	    C3	       C4	  C5	     C6
- - ---------- ---------- ---------- ----------
	     1			   2
			3		      2

SQL> SELECT COALESCE(C1, C2, C3, C4, C5, C6) AS c FROM V;

	 C
----------
	 1
	 3

如果用nvl函数呢?
SELECT nvl(nvl(nvl(nvl(nvl(c1, c2), c3), c4), c5), c6) AS c FROM v;

转载于:https://www.cnblogs.com/zhaoyangjian724/p/3797993.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值