问题
单项选择题
如果QUANTITY的值为空值(null),在执行以下哪个语句时会显示一个0
A.SELECT id_number, 100/quantity
FROM
inventory;
B.SELECT id_number, NVL(100/quantity, 0)
FROM
inventory;
C.SELECT id_number, NULL(100/quantity, 0)
FROM
inventory;
D.SELECT id_number, TO_CHAR(100/quantity, 0)
FROM
inventory;
E.SELECT id_number, NVL(100/quantity, ’999.00’)
FROM
inventory;
答案
参考答案:B
解析: 这一题是测试对NVL函数的理解。根据有关NVL函数向介绍,可以确定只有选项B是正确的。
根据上一题的分析,选项A中的SQL语句的表达式应该返回NULL,所以可以排除。因为并没有NULL这个函数而TO_CHAR是将一个数字转换成一个字符串,所以选项C和D也可以排除。在选项E的SQL语句中,NVL(100/quantity, ’999.00’)中的数据类型不匹配,所以系统不会正确执行这个语句,因此选项E也不可能是正确答案。