Одновариантная замена NULL-значения реальным значением

Синтаксис
 
nvl(<выражение 1>, <выражение 2>)

<выражение 1>::=<значимое выражение>

<выражение 2>::=<значимое выражение>

Описание

Функция возвращает значение <выражения 1> в случае, если <выражение 1> не является NULL-значением, иначе возвращает значение <выражения 2>.

Функция эквивалентна конструкции СУБД ЛИНТЕР:

CASE WHEN <выражение 1> IS NOT NULL
THEN <выражение 1> ELSE <выражение 2> END;

Типы данных <выражения 1> и <выражения 2> должны быть идентичными или приводимыми. При приведении типов данных по умолчанию (без конструкции CAST…) второй аргумент приводится к типу данных первого аргумента.

Пример
create procedure nvl_test(in arg1 char(20); in arg2 char(10)) result char(20)
code
  return nvl(arg1, arg2);
end;

execute nvl_test("abc",null);
return value = abc

execute nvl_test(null,"123");
return value = 123