什么是SQL Server的IsNull()函数的Oracle等价物?

在SQL Server中,我们可以inputIsNull()来确定一个字段是否为空。 PL / SQL中是否有等价的函数?

Oracle和SQL Server都支持coalesce ,它的function与nvlisnull基本相同。 (有一些重要的区别, coalesce可以接受任意数量的参数,并且返回第一个非空值isnull的返回types与第一个参数的types相匹配,这对于coalesce来说是不正确的,至less在SQL Server 。)

而不是ISNULL() ,使用NVL()

T-SQL:

 SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable 

PL / SQL:

 SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable 

如果您想从field_to_check返回其他值,也可以使用下面的field_to_check

 NVL2( field_to_check, value_if_NOT_null, value_if_null ) 

用法: ORACLE / PLSQL:NVL2function

if x is not null then...可以使用条件if x is not null then... 这不是一个function。 还有NVL()函数,这里是一个很好的例子: NVL函数参考 。