> ## 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.

> Calcula la suma de los números usando el mismo tipo de dato para el resultado que para los parámetros de entrada. Si la suma supera el valor máximo de este tipo de dato, se calcula con desbordamiento.

# sumWithOverflow

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

Introducido en: v1.1.0

Calcula la suma de valores numéricos y usa el mismo tipo de dato para el resultado que para los parámetros de entrada.
Si la suma supera el valor máximo de este tipo de dato, se calcula con desbordamiento.

**Sintaxis**

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

**Argumentos**

* `num` — Columna de valores numéricos. [`(U)Int*`](/es/reference/data-types/int-uint) o [`Float*`](/es/reference/data-types/float) o [`Decimal*`](/es/reference/data-types/decimal)

**Valor devuelto**

La suma de los valores. [`(U)Int*`](/es/reference/data-types/int-uint) o [`Float*`](/es/reference/data-types/float) o [`Decimal*`](/es/reference/data-types/decimal)

**Ejemplos**

**Demostración del comportamiento ante desbordamiento con UInt16**

```sql title=Query theme={null}
CREATE TABLE employees
(
    id UInt32,
    name String,
    monthly_salary UInt16 -- seleccionado para que la suma de valores produzca un desbordamiento
)
ENGINE = Memory;

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

-- Consulta del importe total de los salarios de los empleados usando las funciones sum y sumWithOverflow, y muestra sus tipos con la función toTypeName
-- Para la función sum, el tipo resultante es UInt64, suficientemente grande para contener la suma, mientras que para sumWithOverflow el tipo resultante permanece como 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               │
└─────────────┴──────────┴─────────────────────────┴──────────────────────┘
```
