Определение минимального значения в списке

Функция

Определение минимального значения в заданном списке.

Спецификация
 
< синтаксис >::=
Синтаксические правила
  1. Типы данных всех элементов списка должны быть совместимы.

  2. < Элементы списка > могут иметь числовой, символьный или «дата-время» тип данных.

  3. Запрещается одновременное использование в < элементах списка > строковых значений c фиксированной и переменной длиной: либо все должны быть с фиксированной длиной, либо все – с переменной длиной.

    Недопустимая конструкция:
    select least( cast 'aaa' as varchar, cast 'abc' as char);
    
    Допустимая конструкция:
    select least( cast 'aaa' as varchar, cast 'abc' as varchar);
  4. Все аргументы функции могут задаваться в виде < SQL-параметра >, который должен содержать спецификацию типа данных параметра.

    select least(year, ? (int), ? (int)) from auto limit 1;
    50
    40
    |       40|
Возвращаемое значение
  1. Минимальное из значений в списке.

  2. Тип возвращаемого результата – DOUBLE, если элементы списка имеют числовые типы.

  3. Если список состоит из строковых (байтовых) значений, то длина результата равна максимальной из длин элементов списка.

Пример
select greatest(count(*), min(salary), avg(salary), max(salary)),
       least(count(*), min(salary), avg(salary), max(salary))
  from person;
|96000 |986 |
select age,salary, greatest(age,salary/1000) from person;
AGE SALARY
|30 |10800 |30 |
|48 |51000 |51 |
|52 |37000 |52 |
|41 |11000 |41 |
|32 |51000 |51 |
|34 |36000 |36 |
 …