OCP-1Z0-051 第97题 NULLIF,NVL函数用法

该博客讨论了Oracle数据库中的NULLIF和NVL2函数,通过一道OCP-1Z0-051考试题目进行示例说明。内容涉及当AMT_SPENT等于CREDIT_LIMIT或为NULL时,如何使用这些函数来确定'1000'奖金的显示情况。解析解释了正确答案为何是C。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原题
View the Exhibit and evaluate the structure and data in the CUST_STATUS table.


You issue the following SQL statement:
SQL> SELECT custno, NVL2(NULLIF(amt_spent,credit_limit), 0, 1000) "BONUS"
             FROM cust_status;
Which statement is true regarding the execution of the above query?
A. It produces an error because the AMT_SPENT column contains a null value.
B. It displays a bonus of 1000 for all customers whose AMT_SPENT is less than CREDIT_LIMIT.
C. It displays a bonus of 1000 for all customers whose AMT_SPENT equals CREDIT_LIMIT, or AMT_SPENT is null .
D. It produces an error because the TO_NUMBER function must be used to convert the result of the NULLIF function before it can be used by the NVL2 function.

答案:C

二、题目翻译
查看 CUST_STATUS表结构和数据,
执行下面的语句:
关于上面的查询哪句话是正确的?
A.报错,因为AMT_SPENT包含空值。
B.显示所有AMT_SPENT小于CREDIT_LIMIT的员工有1000元奖金。
C.显示所有AMT_SPENT等于CREDIT_LIMIT或AMT_SPENT为空的员工有1000元奖金。
D.报错,因为在使用NVL2函数之前,需要使用TO_NUMBER函数把NULLIF函数的结果进行转换。

三、题目解析
       NVL、NVL2及NULLIF函数的详细用法,参考:
                    http://blog.csdn.net/holly2008/article/details/25251513

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值