Вычисление максимального значения из набора значений

Синтаксис
 
greatest(< значимое выражение 1 >,… < значимое выражение n >)

< значимое выражение >::=< значимое числовое выражение >|< значимое выражение типа «дата-время» >

Описание

Вычисление максимального значения из набора значений.

< Значимое выражение > может иметь числовой или «дата-время» тип данных.

Типы данных всех элементов списка должны быть совместимы.

< Значимые выражения > не могут быть NULL-значениями.

Возвращаемое значение
  1. Максимальное значение из набора значений < значимое выражение 1 >,… < значимое выражение n >.

  2. Тип возвращаемого значения устанавливается по типу данных первого аргумента.

  3. Если тип данных первого аргумента INT, то для результирующих NUMERIC-значений происходит отбрасывание значений после запятой.

Примеры
1)
create or replace procedure tst_greatest_int(in p_1 int; in p_2 int;) result int
code
  return greatest (p_1, p_2); //
end;
execute tst_greatest_int(1, 2);
Результат 2
2)
create or replace procedure tst_greatest_date() result date
declare
  var d1 date;
  var d2 date;
code
  d1:=atod("28.04.2015","dd.mm.yyyy");
  d2:=atod("28.05.2016","dd.mm.yyyy");
  return greatest (D1, D2);
end;

execute tst_greatest_date();
Результат 05/28/2016:00:00:00.00
3)
create or replace procedure tst_greatest_date2(in dt1 date; in dt2 date) result date
code
  return greatest(dt1, dt2); //
end;
call tst_greatest_date2('20.07.2015','21.07.2015');
Результат 07/21/2015:00:00:00.00