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

> Documentação de funções matemáticas

# Funções matemáticas

{/*AUTOGENERATED_START*/}

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

Introduzido em: v1.1.0

Retorna o arco cosseno do argumento.

**Sintaxe**

```sql theme={null}
acos(x)
```

**Argumentos**

* `x` — O valor cujo arco cosseno deve ser calculado. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o arco cosseno de x [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT acos(0.5);
```

```response title=Response theme={null}
1.0471975511965979
```

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

Introduzido em: v20.12.0

Retorna o cosseno hiperbólico inverso.

**Sintaxe**

```sql theme={null}
acosh(x)
```

**Argumentos**

* `x` — Cosseno hiperbólico do ângulo. Valores no intervalo: `1 ≤ x < +∞`. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o ângulo, em radianos. Valores no intervalo: `0 ≤ acosh(x) < +∞`. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT acosh(1)
```

```response title=Response theme={null}
0
```

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

Introduzido em: v1.1.0

Calcula o arco-seno do argumento fornecido.
Para argumentos no intervalo `[-1, 1]`, retorna um valor no intervalo `[-pi() / 2, pi() / 2]`.

**Sintaxe**

```sql theme={null}
asin(x)
```

**Argumentos**

* `x` — Argumento para o qual o arco-seno será calculado. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o arco-seno do argumento `x` fornecido [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**inverso**

```sql title=Query theme={null}
SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
```

```response title=Response theme={null}
1 1 1
```

**float32**

```sql title=Query theme={null}
SELECT toTypeName(asin(1.0::Float32))
```

```response title=Response theme={null}
Float64
```

**nan**

```sql title=Query theme={null}
SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
```

```response title=Response theme={null}
nan nan nan nan
```

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

Introduzido em: v20.12.0

Retorna o seno hiperbólico inverso.

**Sintaxe**

```sql theme={null}
asinh(x)
```

**Argumentos**

* `x` — Seno hiperbólico do ângulo. Valores no intervalo: `-∞ < x < +∞`. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o ângulo, em radianos. Valores no intervalo: `-∞ < asinh(x) < +∞`. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT asinh(0)
```

```response title=Response theme={null}
0
```

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

Introduzido em: v1.1.0

Retorna a arcotangente do argumento.

**Sintaxe**

```sql theme={null}
atan(x)
```

**Argumentos**

* `x` — O valor do qual se deseja obter a arcotangente. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna a arcotangente de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT atan(1);
```

```response title=Response theme={null}
0.7853981633974483
```

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

Introduzido na versão: v20.12.0

Retorna atan2 como o ângulo, em radianos, no plano euclidiano, entre o eixo x positivo e a semirreta até o ponto `(x, y) ≠ (0, 0)`.

**Sintaxe**

```sql theme={null}
atan2(y, x)
```

**Argumentos**

* `y` — coordenada y do ponto por onde passa o raio. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)
* `x` — coordenada x do ponto por onde passa o raio. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o ângulo `θ` tal que `-π < θ ≤ π`, em radianos [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT atan2(1, 1)
```

```response title=Response theme={null}
0.7853981633974483
```

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

Introduzido na versão: v20.12.0

Retorna a arcotangente hiperbólica.

**Sintaxe**

```sql theme={null}
atanh(x)
```

**Argumentos**

* `x` — Tangente hiperbólica do ângulo. Valores no intervalo: -1 \< x \< 1. `(U)Int*`, `Float*` ou `Decimal*`. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o ângulo, em radianos. Valores no intervalo: -∞ \< atanh(x) \< +∞ [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT atanh(0)
```

```response title=Response theme={null}
0
```

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

Introduzido na versão: v1.1.0

Retorna a raiz cúbica do argumento.

**Sintaxe**

```sql theme={null}
cbrt(x)
```

**Argumentos**

* `x` — O valor do qual se deseja encontrar a raiz cúbica. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna a raiz cúbica de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT cbrt(8);
```

```response title=Response theme={null}
2
```

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

Introduzido em: v1.1.0

Retorna o cosseno do argumento.

**Sintaxe**

```sql theme={null}
cos(x)
```

**Argumentos**

* `x` — O ângulo em radianos. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o cosseno de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT cos(0);
```

```response title=Response theme={null}
1
```

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

Introduzido em: v20.12.0

Retorna o cosseno hiperbólico do argumento.

**Sintaxe**

```sql theme={null}
cosh(x)
```

**Argumentos**

* `x` — O ângulo, em radianos. Valores no intervalo: `-∞ < x < +∞`. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna valores no intervalo: `1 ≤ cosh(x) < +∞` [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT cosh(0)
```

```response title=Response theme={null}
1
```

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

Introduzido em: v22.2.0

Converte radianos em graus.

**Sintaxe**

```sql theme={null}
degrees(x)
```

**Argumentos**

* `x` — Entrada em radianos. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o valor de `x` em graus. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT degrees(3.141592653589793)
```

```response title=Response theme={null}
180
```

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

Introduzido em: v1.1.0

Retorna a constante de Euler (e).

**Sintaxe**

```sql theme={null}
e()
```

**Argumentos**

* Nenhum.

**Valor retornado**

Retorna a constante de Euler [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT e();
```

```response title=Response theme={null}
2.718281828459045
```

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

Introduzido em: v1.1.0

Se `x` for não negativo, então `erf(x/(σ√2))` é a probabilidade de que uma variável aleatória com distribuição normal e desvio padrão `σ` assuma um valor que difira do valor esperado em mais de `x`.

**Sintaxe**

```sql theme={null}
erf(x)
```

**Argumentos**

* `x` — O valor para o qual calcular o valor da função de erro. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o valor da função de erro [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Regra dos três sigmas**

```sql title=Query theme={null}
SELECT erf(3 / sqrt(2))
```

```response title=Response theme={null}
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘
```

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

Introduzido em: v1.1.0

Retorna um número próximo a `1-erf(x)` sem perda de precisão para valores altos de `x`.

**Sintaxe**

```sql theme={null}
erfc(x)
```

**Argumentos**

* `x` — O valor para o qual se deseja calcular o valor da função de erro. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o valor da função de erro complementar [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT erfc(0);
```

```response title=Response theme={null}
1
```

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

Introduzido em: v1.1.0

Retorna e elevado à potência de `x`, em que `x` é o argumento dado à função.

**Sintaxe**

```sql theme={null}
exp(x)
```

**Argumentos**

* `x` — O expoente. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna `e^x` [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT round(exp(-1), 4)
```

```response title=Response theme={null}
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘
```

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

Introduzido em: v1.1.0

Retorna 10 elevado ao argumento fornecido.

**Sintaxe**

```sql theme={null}
exp10(x)
```

**Argumentos**

* `x` — O expoente. [`(U)Int*`](/pt-BR/reference/data-types/int-uint), [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna 10^x [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT exp10(2);
```

```response title=Response theme={null}
100
```

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

Introduzido em: v1.1.0

Retorna 2 elevado ao argumento fornecido.

**Sintaxe**

```sql theme={null}
exp2(x)
```

**Argumentos**

* `x` — O expoente. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna 2^x [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT exp2(3);
```

```response title=Response theme={null}
8
```

<div id="factorial">
  ## fatorial
</div>

Introduzido em: v22.11.0

Calcula o fatorial de um valor inteiro.
O fatorial de 0 é 1. Da mesma forma, a função `factorial()` retorna `1` para qualquer valor negativo.
O maior valor positivo permitido para o argumento de entrada é `20`; um valor de `21` ou mais causará uma exceção.

**Sintaxe**

```sql theme={null}
factorial(n)
```

**Argumentos**

* `n` — Valor inteiro para o qual o fatorial deve ser calculado. O valor máximo é 20. [`(U)Int8/16/32/64`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna o fatorial da entrada como UInt64. Retorna 1 para entrada 0 ou qualquer valor negativo. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
factorial(10)
```

```response title=Response theme={null}
3628800
```

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

Introduzido em: v20.12.0

Retorna o comprimento da hipotenusa de um triângulo retângulo.
`hypot` evita problemas que podem ocorrer ao elevar ao quadrado números muito grandes ou muito pequenos.

**Sintaxe**

```sql theme={null}
hypot(x, y)
```

**Argumentos**

* `x` — O primeiro cateto de um triângulo retângulo. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)
* `y` — O segundo cateto de um triângulo retângulo. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o comprimento da hipotenusa de um triângulo retângulo. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT hypot(1, 1)
```

```response title=Response theme={null}
1.4142135623730951
```

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

Introduzido na versão: v1.1.0

Semelhante a [exp10](#exp10), mas retorna um número `UInt64`.

**Sintaxe**

```sql theme={null}
intExp10(x)
```

**Argumentos**

* `x` — O expoente. [`Int*`](/pt-BR/reference/data-types/int-uint) ou [`UInt*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float)

**Valor retornado**

Retorna 10^x. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT intExp10(2);
```

```response title=Response theme={null}
100
```

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

Introduzido na: v1.1.0

Semelhante a [exp2](#exp2), mas retorna um número `UInt64`.

**Sintaxe**

```sql theme={null}
intExp2(x)
```

**Argumentos**

* `x` — O expoente. [`Int*`](/pt-BR/reference/data-types/int-uint) ou [`UInt*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float)

**Valor retornado**

Retorna 2^x. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT intExp2(3);
```

```response title=Response theme={null}
8
```

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

Introduzido em: v26.5.0

Retorna `1` se o argumento for um número primo; caso contrário, `0`.

Usa um bitmap de consulta exato para valores pequenos e um [teste de Miller-Rabin](https://en.wikipedia.org/wiki/Miller-Rabin_primality_test) determinístico
para valores maiores. O resultado é exato para todos os tipos de entrada suportados.

Para tipos de inteiros sem sinal de maior largura (`UInt128`, `UInt256`), use [`isProbablePrime`](/pt-BR/reference/functions/regular-functions/math-functions#isProbablePrime) no lugar.

**Sintaxe**

```sql theme={null}
isPrime(n)
```

**Argumentos**

* `n` — Inteiro sem sinal a ser testado quanto à primalidade. [`UInt8`](/pt-BR/reference/data-types/int-uint) ou [`UInt16`](/pt-BR/reference/data-types/int-uint) ou [`UInt32`](/pt-BR/reference/data-types/int-uint) ou [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna `1` se `n` for primo; caso contrário, `0`. [`UInt8`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Número primo**

```sql title=Query theme={null}
SELECT isPrime(17)
```

```response title=Response theme={null}
1
```

**Número composto**

```sql title=Query theme={null}
SELECT isPrime(18)
```

```response title=Response theme={null}
0
```

**Grande número primo `UInt64`**

```sql title=Query theme={null}
SELECT isPrime(18446744073709551557)
```

```response title=Response theme={null}
1
```

**Valor máximo de `UInt64`**

```sql title=Query theme={null}
SELECT isPrime(18446744073709551615)
```

```response title=Response theme={null}
0
```

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

Introduzido em: v26.5.0

Retorna `1` se o argumento for provavelmente primo e `0` se for definitivamente composto.

Para `UInt8`, `UInt16`, `UInt32` e `UInt64`, o resultado é exato e corresponde a
[`isPrime`](/pt-BR/reference/functions/regular-functions/math-functions#isPrime). O argumento `rounds` é ignorado.

Para `UInt128` e `UInt256`, um valor de retorno `1` é probabilístico. O argumento opcional `rounds` controla
quantas rodadas de [Miller-Rabin](https://en.wikipedia.org/wiki/Miller-Rabin_primality_test) são usadas:
mais rodadas reduzem a chance de falso positivo e aumentam o tempo de execução. Com testemunhas aleatórias uniformemente distribuídas,
a taxa de falso positivo para um composto fixo é limitada por `4^(-rounds)`; o valor padrão de `25`
mantém esse limite abaixo de `10^-15`, e o máximo de `256` o mantém abaixo de `10^-154`.

A função é determinística: as testemunhas são inicializadas com base em `n`, portanto o mesmo par `(n, rounds)` sempre produz
o mesmo resultado. O limite de `4^(-rounds)` é a probabilidade por entrada sob testemunhas aleatórias uniformemente distribuídas;
com nossa inicialização determinística, ele passa a descrever uma fração das entradas — um composto que engana sua
sequência de testemunhas retornará `1` de forma reproduzível.

**Sintaxe**

```sql theme={null}
isProbablePrime(n[, rounds])
```

**Argumentos**

* `n` — Inteiro sem sinal a ser testado quanto à primalidade. [`UInt8`](/pt-BR/reference/data-types/int-uint) ou [`UInt16`](/pt-BR/reference/data-types/int-uint) ou [`UInt32`](/pt-BR/reference/data-types/int-uint) ou [`UInt64`](/pt-BR/reference/data-types/int-uint) ou [`UInt128`](/pt-BR/reference/data-types/int-uint) ou [`UInt256`](/pt-BR/reference/data-types/int-uint)
* `rounds` — Constante inteira positiva opcional em `[1, 256]`. Número de rodadas de Miller-Rabin para `UInt128`/`UInt256` (ignorado para tipos menores). O padrão é `25`. [`UInt8`](/pt-BR/reference/data-types/int-uint) ou [`UInt16`](/pt-BR/reference/data-types/int-uint) ou [`UInt32`](/pt-BR/reference/data-types/int-uint) ou [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna `1` se `n` for provavelmente primo e `0` se for definitivamente composto. [`UInt8`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Primo pequeno**

```sql title=Query theme={null}
SELECT isProbablePrime(17)
```

```response title=Response theme={null}
1
```

**Composto pequeno**

```sql title=Query theme={null}
SELECT isProbablePrime(18)
```

```response title=Response theme={null}
0
```

**Maior número primo `UInt64` (resultado exato)**

```sql title=Query theme={null}
SELECT isProbablePrime(18446744073709551557)
```

```response title=Response theme={null}
1
```

**Primo de Mersenne `M_127` (`UInt128`)**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt128('170141183460469231731687303715884105727'))
```

```response title=Response theme={null}
1
```

**Número primo do campo base da Curve25519 `2^255 - 19` (`UInt256`)**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'))
```

```response title=Response theme={null}
1
```

**Teste mais rápido, com menor confiabilidade: 5 rodadas**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'), 5)
```

```response title=Response theme={null}
1
```

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

Introduzido em: v1.1.0

Retorna o logaritmo da função gama.

**Sintaxe**

```sql theme={null}
lgamma(x)
```

**Argumentos**

* `x` — O número para o qual será calculado o logaritmo da função gama. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o logaritmo da função gama de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT lgamma(5);
```

```response title=Response theme={null}
3.1780538303479458
```

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

Introduzido em: v1.1.0

Retorna o logaritmo natural do argumento.

**Sintaxe**

```sql theme={null}
log(x)
```

**Aliases**: `ln`

**Argumentos**

* `x` — O número cujo logaritmo natural será calculado. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o logaritmo natural de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT log(10);
```

```response title=Response theme={null}
2.302585092994046
```

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

Introduzido em: v1.1.0

Retorna o logaritmo decimal do argumento.

**Sintaxe**

```sql theme={null}
log10(x)
```

**Argumentos**

* `x` — Número para o qual se deseja calcular o logaritmo decimal. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o logaritmo decimal de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT log10(100);
```

```response title=Response theme={null}
2
```

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

Introduzido em: v20.12.0

Calcula log(1+x).
O cálculo de log1p(x) é mais preciso do que log(1+x) para valores pequenos de `x`.

**Sintaxe**

```sql theme={null}
log1p(x)
```

**Argumentos**

* `x` — Valores no intervalo: `-1 < x < +∞`. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna valores no intervalo: -∞ \< log1p(x) \< +∞ [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT log1p(0)
```

```response title=Response theme={null}
0
```

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

Introduzido em: v1.1.0

Retorna o logaritmo binário do argumento.

**Sintaxe**

```sql theme={null}
log2(x)
```

**Argumentos**

* `x` — O número cujo logaritmo binário deve ser calculado. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o logaritmo binário de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT log2(8);
```

```response title=Response theme={null}
3
```

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

Introduzido em: v1.1.0

Retorna π (pi).

**Sintaxe**

```sql theme={null}
pi()
```

**Argumentos**

* Nenhum.

**Valor retornado**

Retorna pi [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT pi();
```

```response title=Response theme={null}
3.141592653589793
```

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

Introduzido em: v1.1.0

Retorna x elevado à potência de y.

**Sintaxe**

```sql theme={null}
pow(x, y)
```

**Aliases**: `power`

**Argumentos**

* `x` — A base. [`(U)Int8/16/32/64`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)
* `y` — O expoente. [`(U)Int8/16/32/64`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna x^y como [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT pow(2, 3);
```

```response title=Response theme={null}
8
```

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

Introduzido em: v22.3.0

Retorna estatísticas de teste para o teste Z de duas proporções — um teste estatístico para comparar as proporções de duas populações, x e y.
A função oferece suporte aos métodos agrupado e não agrupado de estimativa do erro padrão.
No método agrupado, as duas proporções são combinadas em uma média, e apenas uma proporção é usada para estimar o erro padrão.
No método não agrupado, as duas proporções são usadas separadamente.

**Sintaxe**

```sql theme={null}
proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)
```

**Argumentos**

* `successes_x` — Número de sucessos na população x. [`UInt64`](/pt-BR/reference/data-types/int-uint)
* `successes_y` — Número de sucessos na população y. [`UInt64`](/pt-BR/reference/data-types/int-uint)
* `trials_x` — Número de ensaios na população x. [`UInt64`](/pt-BR/reference/data-types/int-uint)
* `trials_y` — Número de ensaios na população y. [`UInt64`](/pt-BR/reference/data-types/int-uint)
* `conf_level` — Nível de confiança do teste. [`Float64`](/pt-BR/reference/data-types/float)
* `pool_type` — Seleção do método de pooling para estimativa do erro padrão. Pode ser 'unpooled' ou 'pooled'. [`String`](/pt-BR/reference/data-types/string)

**Valor retornado**

Retorna uma tupla contendo: `z_stat` (estatística Z), `p_val` (valor de P), `ci_low` (limite inferior do intervalo de confiança), `ci_high` (limite superior do intervalo de confiança). [`Tuple(Float64, Float64, Float64, Float64)`](/pt-BR/reference/data-types/tuple)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');
```

```response title=Response theme={null}
┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘
```

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

Introduzido na versão: v22.2.0

Converte graus em radianos.

**Sintaxe**

```sql theme={null}
radians(x)
```

**Argumentos**

* `x` — Entrada em graus. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o valor em radianos [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT radians(180)
```

```response title=Response theme={null}
3.141592653589793
```

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

Introduzido em: v20.1.0

Calcula a função sigmoide: `1 / (1 + exp(-x))`. A função sigmoide mapeia qualquer número real para o intervalo (0, 1) e é frequentemente usada em aprendizado de máquina.

**Sintaxe**

```sql theme={null}
sigmoid(x)
```

**Argumentos**

* `x` — O valor de entrada. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float)

**Valor retornado**

Retorna o sigmoide do valor de entrada, no intervalo (0, 1). [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT sigmoid(0)
```

```response title=Response theme={null}
0.5
```

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

Introduzido em: v21.2.0

Retorna o sinal de um número real.

**Sintaxe**

```sql theme={null}
sign(x)
```

**Argumentos**

* `x` — Valores entre -∞ e +∞. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Decimal*`](/pt-BR/reference/data-types/decimal) ou [`Float*`](/pt-BR/reference/data-types/float)

**Valor retornado**

Retorna `-1` para `x < 0`, `0` para `x = 0` e `1` para `x > 0`. [`Int8`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Sinal de zero**

```sql title=Query theme={null}
SELECT sign(0)
```

```response title=Response theme={null}
0
```

**Sinal de positivo**

```sql title=Query theme={null}
SELECT sign(1)
```

```response title=Response theme={null}
1
```

**Sinal de negativo**

```sql title=Query theme={null}
SELECT sign(-1)
```

```response title=Response theme={null}
-1
```

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

Introduzido em: v1.1.0

Retorna o seno do argumento.

**Sintaxe**

```sql theme={null}
sin(x)
```

**Argumentos**

* `x` — O número cujo seno será retornado. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o seno de x.

**Exemplos**

**simples**

```sql title=Query theme={null}
SELECT sin(1.23)
```

```response title=Response theme={null}
0.9424888019316975
```

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

Introduzido em: v20.12.0

Retorna o seno hiperbólico.

**Sintaxe**

```sql theme={null}
sinh(x)
```

**Argumentos**

* `x` — O ângulo, em radianos. Valores no intervalo: -∞ \< x \< +∞. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna valores no intervalo: -∞ \< sinh(x) \< +∞ [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT sinh(0)
```

```response title=Response theme={null}
0
```

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

Introduzido na versão: v1.1.0

Retorna a raiz quadrada do argumento.

**Sintaxe**

```sql theme={null}
sqrt(x)
```

**Argumentos**

* `x` — O número para o qual se deve calcular a raiz quadrada. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna a raiz quadrada de x [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT sqrt(16);
```

```response title=Response theme={null}
4
```

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

Introduzido em: v1.1.0

Retorna a tangente do argumento.

**Sintaxe**

```sql theme={null}
tan(x)
```

**Argumentos**

* `x` — O ângulo em radianos. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna a tangente de `x`. [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT tan(0);
```

```response title=Response theme={null}
0
```

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

Introduzido em: v20.1.0

Retorna a tangente hiperbólica.

**Sintaxe**

```sql theme={null}
tanh(x)
```

**Argumentos**

* `x` — O ângulo em radianos. Valores no intervalo: -∞ \< x \< +∞. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna valores no intervalo: -1 \< tanh(x) \< 1 [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT tanh(0)
```

```response title=Response theme={null}
0
```

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

Introduzido em: v1.1.0

Retorna a função gama.

**Sintaxe**

```sql theme={null}
tgamma(x)
```

**Argumentos**

* `x` — O número para o qual se calcula a função gama. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal)

**Valor retornado**

Retorna o valor da função gama [`Float*`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT tgamma(5);
```

```response title=Response theme={null}
24
```

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

Introduzido em: v23.3.0

Retorna o número do bucket em que o parâmetro `operand` se encontra em um histograma com `count` buckets de mesma largura que abrangem o intervalo de `low` a `high`. Retorna 0 se `operand` for menor que `low` e retorna `count`+1 se `operand` for maior ou igual a `high`.
Também há um alias case insensitive chamado `WIDTH_BUCKET` para garantir compatibilidade com outros bancos de dados.

**Sintaxe**

```sql theme={null}
widthBucket(operand, low, high, count)
```

**Aliases**: `width_bucket`

**Argumentos**

* `operand` — O valor para o qual o bucket deve ser determinado. [`(U)Int8/16/32/64`](/pt-BR/reference/data-types/int-uint)
* `low` — O limite inferior do intervalo do histograma. [`(U)Int8/16/32/64`](/pt-BR/reference/data-types/int-uint)
* `high` — O limite superior do intervalo do histograma. [`(U)Int8/16/32/64`](/pt-BR/reference/data-types/int-uint)
* `count` — O número de buckets de mesma largura. Não pode ser zero. [`UInt8/16/32/64`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna o número do bucket como um inteiro. Retorna 0 se operand \< low e count+1 se operand >= high. [`UInt8/16/32/64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
widthBucket(10.15, -8.6, 23, 18)
```

```response title=Response theme={null}
11
```
