LNNVL ФУНКЦИЯ

В этом учебном пособии вы узнаете, как использовать Oracle/PLSQL функцию LNNVL с синтаксисом и примерами.

Описание

Oracle/PLSQL функция LNNVL используется в предложении WHERE SQL запроса, чтобы оценить состояние, когда один из операндов может содержать значение NULL.

Синтаксис

Синтаксис Oracle/PLSQL функции LNNVL:

LNNVL( condition )

Примечание

Функция LNNVL будет возвращать в следующее:

Условие оценивается какLNNVL вернет значение
TRUEFALSE
FALSETRUE
UNKNOWNTRUE

Так что, если бы у нас было две колонки с называемые qty и reorder_level, где qty = 20 и reorder_level IS NULL, то функция LNNVL вернет следующее:

УсловиеУсловие оценивается какLNNVL вернет значение
qty = reorder_levelUNKNOWNTRUE
qty IS NULLFALSETRUE
reorder_level IS NULLTRUEFALSE
qty = 20TRUEFALSE
reorder_level = 20UNKNOWNTRUE

Применение

Функцию LNNVL можно использовать в следующих версиях Oracle/PLSQL:

  • Oracle 12c, Oracle 11g, Oracle 10g

Пример

Функция LNNVL может быть использована в Oracle/PLSQL.

Давайте посмотрим пример. Если бы у нас была таблица products, содержащая следующие данные:

PRODUCT_IDQTYREORDER_LEVEL
100020NULL
2000158
3000810
4000126
500022
600045

И мы хотели найти все products (продукты), чьи QTY было ниже REORDER_LEVEL, запустим следующий SQL запрос:

Запрос вернет следующий результат:

PRODUCT_IDQTYREORDER_LEVEL
3000810
600045

Однако, если бы мы хотели рассмотреть products, которые были бы ниже REORDER_LEVEL, а также REORDER_LEVEL имел значение NULL,то мы будем использовать функцию LNNVL следующим образом:

Это вернет следующий результат:

PRODUCT_IDQTYREORDER_LEVEL
100020NULL
3000810
600045

В этом примере, результирующий набор также содержит product_id 1000, который имеет REORDER_LEVEL NULL.