Получи случайную криптовалюту за регистрацию!

Задача: постановка в посте вторника. Решение: Вспомним для че | Oracle Developer👨🏻‍💻

Задача: постановка в посте вторника.

Решение:
Вспомним для чего нужна функция NVL. Если первый аргумент null, то возвращается второй аргумент.
На примере: nvl(null, 2), результатом будет “2”.

Тогда какой правильный ответ в задаче?
Первый аргумент возвращает “1” - не null. Значит запрос выполнится за 5 секунд?

К сожалению, нет. Не важно какое значение в первом аргументе (null, не null), второй аргумент будет вычисляться всегда. Это допустимо, когда это просто литерал (как в примере выше). Но если это что-то вычисляемое или получение значение из сиквенса, то мы столкнемся с сайд-эффектами. В документации, явно об этом не написано.

Возвращаясь к нашей задачи. 5 секунд будет потрачено при вычислении первого аргумента и 10 секунд для второго. Итого: 15 секунд.

Как с этим бороться? Использовать альтернативные функции. Например, COALESCE.
О ней я расскажу более подробно в следующих постах.

#решениезадачи #функции #nvl #coalesce