Сумма множества значений

 

Функция SUM возвращает сумму множества числовых значений.

Синтаксические правила
  1. < Значимое выражение > в аргументе должно быть числовым типом данных или приводиться к нему.

Общие правила
  1. Подсчитанная сумма должна быть в пределах типа возвращаемого значения, иначе фиксируется ошибка переполнения.

  2. При подсчете NULL-значения игнорируются.

  3. Если задана опция DISTINCT, дубликаты из подсчета исключаются.

  4. Тип данных результата:

    • DECIMAL, если тип аргументов INT, SMALLINT, BIGINT, DECIMAL;

    • BIGINT, если ядро СУБД запущено с ключом /COMPATIBILITY=STANDARD и тип аргументов INT, SMALLINT, BIGINT;

    • DOUBLE, если тип аргументов REAL, DOUBLE.

    select count(*), sum(5) from auto;
    
    |1000 |5000.0 |
  5. Если тип данных аргумента DECIMAL со значениями точности pi и масштабом si, то точность результата есть max(pi) и масштаб max(si).

    create table tab1(n decimal);
    insert into tab1 values (1.5);
    insert into tab1 values (12345.12345);
    select * from tab1;
    
    | 1.5         |
    | 12345.12345 |
    
    select sum(n) from tab1;
    
    |12346.62345 |