Что является эквивалентом Oracle функции SQL Server IsNull ()? - PullRequest
99 голосов
/ 19 августа 2010

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

Ответы [ 4 ]

121 голосов
/ 19 августа 2010

coalesce поддерживается как в Oracle, так и в SQL Server и выполняет практически те же функции, что и nvl и isnull.(Есть некоторые важные различия, coalesce может принимать произвольное количество аргументов и возвращает первый ненулевой. Тип возврата для isnull соответствует типу первого аргумента, который не является истинным для coalesceпо крайней мере на SQL Server.)

102 голосов
/ 19 августа 2010

Вместо ISNULL() используйте NVL().

T-SQL:

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

PL / SQL:

SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable
26 голосов
/ 18 июня 2014

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

NVL2( field_to_check, value_if_NOT_null, value_if_null )

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

6 голосов
/ 19 августа 2010

Вы можете использовать условие if x is not null then.... Это не функция. Также есть функция NVL(), хороший пример использования здесь: Функция NVL ref .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...