NVL, COALESCE и NVL2: различия и практические кейсы Друзья, всем привет! 👋 Сегодня разберём три функции для работы с NULL, которые часто путают начинающие разработчики: NVL, NVL2 и COALESCE. На первый взгляд все они решают одну задачу — заменяют NULL на что-то осмысленное. Но каждая имеет свои особенности, которые влияют на производительность и результат выполнения запроса. NVL (Null Value Logic) Самая простая и древняя функция Oracle для замены NULL. Синтаксис: NVL(выражение, значение_если_NULL) 🔹 Принимает ровно 2 аргумента 🔹 Если первый аргумент NULL — возвращает второй 🔹 Вычисляет оба аргумента (кроме констант - Oracle их оптимизирует) Пример: SELECT employee_name, NVL(commission_pct, 0) AS commission FROM employees; COALESCE (Стандарт SQL) Более гибкая функция, которая может принимать любое количество аргументов. Синтаксис: COALESCE(выражение1, выражение2, ..., выражениеN) 🔹 Принимает 2 и более аргументов 🔹 Возвращает первое найденное не-NULL значение из списка ?