Определение максимального значения в списке
Функция
Определение максимального значения в заданном списке.
Спецификация
::=
::=
Синтаксические правила
-
Типы данных всех элементов списка должны быть совместимы.
-
< Элементы списка >
могут иметь числовой, символьный или «дата-время» тип данных. -
Запрещается одновременное использование в
< элементах списка >
строковых значений c фиксированной и переменной длиной: либо все должны быть с фиксированной длиной, либо все – с переменной длиной.Недопустимая конструкция: select greatest( cast 'aaa' as varchar, cast 'abc' as char); Допустимая конструкция: select greatest( cast 'aaa' as varchar, cast 'abc' as varchar);
-
Все аргументы функции могут задаваться в виде
< SQL-параметра >
, который должен содержать спецификацию типа данных параметра.select greatest(year, ? (int), ? (int)) from auto limit 1; 50 40 | 71| select greatest (to_date('20.07.2015', 'dd.mm.yyyy'), to_date('21.07.2015', 'dd.mm.yyyy')); |21.07.2015:00:00:00|
Возвращаемое значение
-
Максимальное из значений в списке.
-
Тип возвращаемого результата – DOUBLE, если элементы списка имеют числовые типы данных.
-
Если список состоит из строковых (байтовых) значений, то длина результата равна максимальной из длин элементов списка.
Примеры
select count(*) from auto where make='FORD' and year=greatest(1, select max(year) from auto); | 60|