Задачи по SQL / Аналитические оконные функции ORACLE
Что быстрее COALESCE или NVL? Разбираем 2-е функции
Всем привет! В этой статье мы познакомимся с 2-мя функциями COALESCE и NVL. COALESCE Для начала давайте посмотрим на синтаксис функции COALESCE: COALESCE( expr1, expr2, … expr_n ) expr1 , expr2 .. expr_n - выражения для проверки на значение NOT NULL. Функция SQL COALESCE возвращает первое определённое, то есть не-NULL значение из списка её аргументов. Обычно одним или несколькими аргументами функции COALESCE является столбец таблицы, к которой обращён запрос. Нередко аргументом функции является и подзапрос...
Использование NVL в Oracle Функция NVL применяется для автоматической замены NULL значения столбца на какое-либо альтернативное значение. Например, при выборке данных из таблицы с курсами валют SELECT CODE, TO_CHAR(DATE_C, 'YYYY-MM-DD HH24:MI:SS') AS DATE_TIME, NVL(VALUE, 99) FROM T_CURRENCY WHERE CODE = 'USD' AND DATE_C IN ( SELECT MAX(DATE_C) FROM T_CURRENCY WHERE DATE_C <= TO_DATE('2019-08-14 09:45:00','YYYY-MM-DD HH24:MI:SS') ); все незаполненные (NULL) значения VALUE будут автоматически инициализироваться числом 99. В качестве альтернативы также можно использовать другие значения столбцов запроса или его подзапросов.