您的位置:首页 > 数据库 > Oracle

@maohoo Oracle两个函数的比较:nvl和nvl2

2016-09-12 20:34 621 查看
1: nvl(value1,value2):如果value1为空,包含null和空串,则返回value2,否则返回value1

需要注意value1和value2的数据类型需要一致。

select nvl(null,0) from dual;  --- 返回0;

select nvl('',0) from dual;   ---- 返回0;

select nvl('abc',0) from dual;   ---- 返回abc;

2:nvl2(value1,value2,value3): 如果value1为空,包含null和空串,则返回value3,否则返回value2,也就是说永远不会返回value1.

select nvl2(null,1,2) from dual; -- 返回 2

select nvl2('',1,2) from dual; -- 返回 2

select nvl2('abc',1,2) from dual; -- 返回1 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle