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

时间:2010-08-19 14:55:49

标签: sql-server oracle tsql plsql

在SQL Server中,我们可以键入IsNull()来确定字段是否为空。 PL / SQL中是否有等效函数?

4 个答案:

答案 0 :(得分:119)

Oracle和SQL Server都支持

coalesce,其功能与nvlisnull基本相同。 (有一些重要的区别,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 )

用法:ORACLE/PLSQL: NVL2 FUNCTION

答案 3 :(得分:6)

您可以使用条件if x is not null then...。这不是一个功能。还有NVL()函数,这是一个很好的使用示例:NVL function ref