NVL функція, якщо перший вираз (Expression1) має значення NULL, замінює його на другий вираз (Expression2).
Синтаксис
Основні характеристики функції NVL:
• Якщо значення Expression1 дорівнює NULL, то повертається Expression2;
• Зазвичай використовується для запобігання помилок у розрахунках, особливо, щоб обчислення не зупинилися через значення NULL;
• Expression1 та Expression2 повинні бути одного типу даних (наприклад, число-число, дата-дата, символ-символ).
Приклад
У наведеному прикладі мета функції NVL — якщо в стовпці commissionptc є значення NULL, замінити його на 0.
Інші значення, що не є NULL, залишаються без змін._
NVL2 функція надає альтернативні виходи для значень NULL і NOT NULL. Вона використовується для перевірки наявності значення (порожнє чи ні) і повертає різні результати. Функція NVL2 полегшує управління порожніми значеннями в таблицях даних і дозволяє отримувати точніші результати при створенні звітів.
Синтаксис
Принцип роботи та типи даних:
• Якщо Expression1 НЕ є NULL, то повертається Expression2;
• Якщо Expression1 є NULL, то повертається Expression3;
• Expression1 може бути будь-якого типу даних;
• Expression2 та Expression3 повинні бути одного типу даних (наприклад, символ-символ, число-число).
Приклад
Роль функції NVL2 — якщо в стовпці commissionptc є значення NOT NULL, результатом буде_ ‘has’ ;
якщо commissionptc містить NULL, результатом буде_ ‘has not’ .
NULLIF (Expression1, Expression2) порівнює два вирази.
• Якщо Expression1 та Expression2 рівні, результат функції буде NULL.
• Якщо Expression1 та Expression2 не рівні, результат функції буде Expression1.
• Обидва вирази, Expression1 та Expression2, повинні бути одного типу даних (наприклад, обидва числа, обидва текстові значення тощо).
Функція NULLIF часто використовується для перевірки спеціальних умов — наприклад, коли потрібно повернути NULL, якщо два значення рівні.
Приклад
NULLIF(LENGTH(FIRSTNAME), LENGTH(LASTNAME)): Якщо довжина імені та прізвища однакова, результат буде NULL. Інакше, функція поверне LENGTH(FIRSTNAME)_ .
Перекладено з: NVL, NVL2, NULLIF