Архив | метка: functions

COALESCE “умнее” чем NVL.

Век живи — век учись. NVL вычисляет второй аргумент, даже если если первый аргумент не NULL. NVL2 поступает также:  “вычисляет” оба аргумента, хотя по идее должна вычислять только один. Подробности и детали: Short-circuit Evaluations — moving away from NVL. Конечно для случаев NVL(Field, DefaultValue) или NVL2(Field, NotNullDefaultValue, NullDefaultValue) это ничего не даст, но если для [...]

Читать полностьюКомментарии отключены

"Горизонтальные" функции в Oracle.

Сегодня обнаружил в коде функцию Coalesce. Ни разу не пользовался. Дословно – объединять. Почему объединять ума не приложу. Функция возвращает первое not null значение из списка, заменитель вложенных NVL функций. И теперь вместо: NVL(NVL(NVL(ColumnA, ColumnB) , ColumnC), ColumnD) можно написать: COALESCE(ColumnA, ColumnB, ColumnC, ColumnD) Функция «горизонтальная». « Горизонтальная» функция, потому что оперирует колонками (или n [...]

Читать полностьюКомментарии отключены