NVL函数完成了一个简单但有用的功能。任何时候给它一个空值,它都返回一个你所选择的值。这种能够自动替换空值的能力有助于提供看上去更为完善的输出。NVL函数的语法如下:
NVL(input_source,result_if_input_value_is_null) 其中input_source一般是一个列名。result_if_input_value_is_null 可以是任何值:直接值(即硬编码)、对其他列的引用或者表达式
注意:NVL函数实际上并不是更新表中的值。原数据仍保持不变。
NVL有一个怪癖,它要求input_source和result_if_input_value_is_null的数据类型是相同的;如果希望此函数在发现空值时显示流行的“N/A”就会出现问题。因为“N/A”是文本,如果input_value是一个文本列,就没有问题了。但是,如果在一个日期或数值列中查找空值,将需要对input_value列应用TO_CHAR函数,以便使input_value也成为文本。