LNNVL ФУНКЦИЯ

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

Описание

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

Синтаксис

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

LNNVL( condition )

Примечание

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

Условие оценивается как LNNVL вернет значение
TRUE FALSE
FALSE TRUE
UNKNOWN TRUE

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

Условие Условие оценивается как LNNVL вернет значение
qty = reorder_level UNKNOWN TRUE
qty IS NULL FALSE TRUE
reorder_level IS NULL TRUE FALSE
qty = 20 TRUE FALSE
reorder_level = 20 UNKNOWN TRUE

Применение

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

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

Пример

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

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

PRODUCT_ID QTY REORDER_LEVEL
1000 20 NULL
2000 15 8
3000 8 10
4000 12 6
5000 2 2
6000 4 5

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

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

PRODUCT_ID QTY REORDER_LEVEL
3000 8 10
6000 4 5

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

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

PRODUCT_ID QTY REORDER_LEVEL
1000 20 NULL
3000 8 10
6000 4 5

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