Функция NVL в SQL: примеры и синтаксис

Функция NVL в SQL (Null Value) используется для замены значений NULL в результирующем столбце на заданное значение. Она возвращает первое значение, если оно не NULL, или второе значение, если первое NULL.

Пример использования функции NVL:


SELECT last_name, NVL(commission_pct, 0) AS commission
FROM employees;

В приведенном примере мы выбираем столбец last_name из таблицы employees и столбец commission_pct, который может содержать значения NULL. Если commission_pct не равен NULL, его значение будет выведено в столбце commission. Если commission_pct равно NULL, в столбце commission будет выведено значение 0.

Также, функция NVL может использоваться в условиях запросов. Например:


SELECT *
FROM employees
WHERE NVL(salary, 0) > 5000;

В этом примере мы выводим все строки из таблицы employees, где значение столбца salary больше 5000. Если salary равно NULL, NVL заменит его на 0, и только затем произойдет сравнение с 5000.

Если несколько NULL значений должны быть заменены на одно значение, можно использовать функцию NVL внутри другой функции NVL. Например:


SELECT NVL(NVL(first_name, last_name), 'Unknown') AS name
FROM employees;

В этом примере, если first_name не равно NULL, будет выведено его значение. Если first_name равно NULL, но last_name не равно NULL, будет выведено значение last_name. Если и first_name и last_name равны NULL, будет выведено значение 'Unknown'.

Код на языке SQL может различаться в разных системах управления базами данных (СУБД). Примеры, приведенные выше, основаны на синтаксисе Oracle SQL. Однако, синтаксис функции NVL может отличаться в других СУБД, таких как MySQL:

- В MySQL функция NVL заменяется на функцию IFNULL:


SELECT IFNULL(salary, 0) AS salary
FROM employees;

- В SQL Server функция NVL заменяется на функцию ISNULL:


SELECT ISNULL(salary, 0) AS salary
FROM employees;

Это следует учитывать при использовании функции NVL в разных СУБД.

В конечном счете, функция NVL очень полезна, когда нужно заменить значение NULL на другое значение. Она позволяет эффективно работать с данными, избегая ошибок или неправильных результатов.

Похожие вопросы на: "nvl sql "

Открытие и работы с файлами в PHP - функция fopen
JS setAttribute: установка значений атрибутов в JavaScript
Ввод с клавиатуры в Java
Выравнивание текста CSS
Git force push: простой способ синхронизации удаленного и локального репозиториев
Wpf Datagrid: основные функции, примеры использования и советы
Создание Gmail: простой и бесплатный способ начать общаться
Генератор CSS Grid
Base C: создание, использование и оптимизация баз данных
Магазин расширений для браузера Chrome