В SQL Server мы можем ввести IsNull(), чтобы определить, является ли поле нулевым. Есть ли эквивалентная функция в PL/SQL?
Что такое эквивалент Oracle функции IsNull() SQL Server?
Ответ 1
coalesce поддерживается как в Oracle, так и в SQL Server и выполняет по существу ту же функцию, что и nvl и isnull. (Есть несколько важных отличий, coalesce может принимать произвольное количество аргументов и возвращает первый ненулевой. Тип возврата для isnull соответствует типу первого аргумента, что неверно для coalesce, по крайней мере, на SQL Server.)
Ответ 2
Вместо ISNULL() используйте NVL().
T-SQL:
SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable
PL/SQL:
SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable
Ответ 3
Также используйте NVL2, как показано ниже, если вы хотите вернуть другое значение из field_to_check:
NVL2( field_to_check, value_if_NOT_null, value_if_null )
Использование: ORACLE/PLSQL: ФУНКЦИЯ NVL2
Ответ 4
Вы можете использовать условие if x is not null then.... Это не функция. Там также функция NVL(), хороший пример использования здесь: функция NVL ref.