Что такое Oracle эквивалент функции ISNULL() SQL Server?

в SQL Server мы можем ввести IsNull() чтобы определить, является ли поле null. Есть ли эквивалентная функция в PL / SQL?

4 ответов


coalesce поддерживается как в Oracle, так и в SQL Server и выполняет по существу ту же функцию, что и nvl и isnull. (Есть некоторые важные различия, coalesce может принимать произвольное количество аргументов и возвращает первый ненулевой. Тип возврата для isnull соответствует типу первого аргумента, что неверно для coalesce, по крайней мере, на 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

использовать NVL2 Как ниже, если вы хотите вернуть другое значение из тега field_to_check:

NVL2( field_to_check, value_if_NOT_null, value_if_null )

использование: ORACLE / PLSQL: ФУНКЦИЯ NVL2


Вы можете использовать условие if x is not null then.... Это не функция. Есть также