在SQL Server中,我们可以键入IsNull()
来确定字段是否为空。 PL / SQL中是否有等效函数?
答案 0 :(得分:119)
coalesce
,其功能与nvl
和isnull
基本相同。 (有一些重要的区别,coalesce
可以接受任意数量的参数,并返回第一个非空的参数。isnull
的返回类型匹配第一个参数的类型,这不是真的对于coalesce
,至少在SQL Server上。)
答案 1 :(得分:99)
而不是ISNULL()
,请使用NVL()
。
T-SQL:
SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable
PL / SQL:
SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable
答案 2 :(得分:26)
如果您想要从NVL2
返回其他值,请同时使用field_to_check
:
NVL2( field_to_check, value_if_NOT_null, value_if_null )
答案 3 :(得分:6)
您可以使用条件if x is not null then...
。这不是一个功能。还有NVL()
函数,这是一个很好的使用示例:NVL function ref。