2016-04-29 75 views
1

我期待与这些功能简单的例子详细的答案。是什么NVL和Oracle中的NVL2功能?他们有什么不同?

+0

标签的DBMS。这些功能是产品特定的。 – jarlh

+2

对不起,是生硬的,而是从字面上谷歌搜索的第一个结果'NVL VS nvl2'包含了答案。至少对我来说,这是... – user1429080

+1

如果一切都失败了,阅读手册:https://docs.oracle.com/database/121/SQLRF/functions131.htm#SQLRF00684和https://docs.oracle。 COM /数据库/ 121/SQLRF/functions132.htm#SQLRF00685 –

回答

9

NVL检查第一参数为空,并返回第二个参数:在这个例子中结果

select nvl(null, 'arg2') from dual 

将是:ARG2;

select nvl('arg1', 'arg2') from dual 

而在这一个中:arg1;

NVL2具有不同的逻辑。如果第一个参数不为空,然后NVL2返回第二个参数,但在其他情况下,它会返回第三个参数:

select nvl2('arg1', 'arg2', 'arg3') from dual 

结果:ARG2

select nvl2(null, 'arg2', 'arg3') from dual 

结果:ARG3

相关问题