> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Вычисляет сумму чисел, используя для результата тот же тип данных, что и для входных параметров. Если сумма превышает максимальное значение этого типа данных, вычисление выполняется с переполнением.

# sumWithOverflow

<div id="sumWithOverflow">
  ## sumWithOverflow
</div>

Добавленный в: v1.1.0

Вычисляет сумму числовых значений, используя для результата тот же тип данных, что и для входных параметров.
Если сумма превышает максимальное значение этого типа данных, вычисление выполняется с переполнением.

**Синтаксис**

```sql theme={null}
sumWithOverflow(num)
```

**Аргументы**

* `num` — Столбец числовых значений. [`(U)Int*`](/ru/reference/data-types/int-uint) или [`Float*`](/ru/reference/data-types/float) или [`Decimal*`](/ru/reference/data-types/decimal)

**Возвращаемое значение**

Сумма значений. [`(U)Int*`](/ru/reference/data-types/int-uint) или [`Float*`](/ru/reference/data-types/float) или [`Decimal*`](/ru/reference/data-types/decimal)

**Примеры**

**Демонстрация поведения при переполнении для UInt16**

```sql title=Query theme={null}
CREATE TABLE employees
(
    id UInt32,
    name String,
    monthly_salary UInt16 -- выбрано так, чтобы сумма значений вызывала переполнение
)
ENGINE = Memory;

INSERT INTO employees VALUES
    (1, 'John', 20000),
    (2, 'Jane', 18000),
    (3, 'Bob', 12000),
    (4, 'Alice', 10000),
    (5, 'Charlie', 8000);

-- Запрос общей суммы зарплат сотрудников с использованием функций sum и sumWithOverflow, а также вывод их типов с помощью функции toTypeName
-- Для функции sum результирующий тип — UInt64, достаточно большой для хранения суммы, тогда как для sumWithOverflow результирующий тип остаётся UInt16.

SELECT
    sum(monthly_salary) AS no_overflow,
    sumWithOverflow(monthly_salary) AS overflow,
    toTypeName(no_overflow),
    toTypeName(overflow)
FROM employees;
```

```response title=Response theme={null}
┌─no_overflow─┬─overflow─┬─toTypeName(no_overflow)─┬─toTypeName(overflow)─┐
│       68000 │     2464 │ UInt64                  │ UInt16               │
└─────────────┴──────────┴─────────────────────────┴──────────────────────┘
```
