acos
Introduzido em: v1.1.0
Retorna o arco cosseno do argumento.
Sintaxe
acos(x)Argumentos
Valor retornado
Retorna o arco cosseno de x Float*
Exemplos
Exemplo de uso
SELECT acos(0.5);1.0471975511965974acosh
Introduzido em: v20.12.0
Retorna o cosseno hiperbólico inverso.
Sintaxe
acosh(x)Argumentos
Valor retornado
Retorna o ângulo, em radianos. Valores no intervalo: 0 ≤ acosh(x) < +∞. Float64
Exemplos
Exemplo de uso
SELECT acosh(1)0asin
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
asin(x)Argumentos
Valor retornado
Retorna o arco-seno do argumento x fornecido Float64
Exemplos
inverso
SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))1 1 0.9999999999999999float32
SELECT toTypeName(asin(1.0::Float32))Float64nan
SELECT asin(1.1), asin(-2), asin(inf), asin(nan)nan nan nan nanasinh
Introduzido em: v20.12.0
Retorna o seno hiperbólico inverso.
Sintaxe
asinh(x)Argumentos
Valor retornado
Retorna o ângulo, em radianos. Valores no intervalo: -∞ < asinh(x) < +∞. Float64
Exemplos
Uso básico
SELECT asinh(0)0atan
Introduzido em: v1.1.0
Retorna a arcotangente do argumento.
Sintaxe
atan(x)Argumentos
Valor retornado
Retorna a arcotangente de x. Float*
Exemplos
Exemplo de uso
SELECT atan(1);0.7853981633974483atan2
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
atan2(y, x)Argumentos
y— coordenada y do ponto por onde passa o raio.(U)Int*ouFloat*ouBFloat16ouDecimal*x— coordenada x do ponto por onde passa o raio.(U)Int*ouFloat*ouBFloat16ouDecimal*
Valor retornado
Retorna o ângulo θ tal que -π < θ ≤ π, em radianos Float64
Exemplos
Exemplo de uso
SELECT atan2(1, 1)0.7853981633974483atanh
Introduzido na versão: v20.12.0
Retorna a arcotangente hiperbólica.
Sintaxe
atanh(x)Argumentos
x— Tangente hiperbólica do ângulo. Valores no intervalo: -1 < x < 1.(U)Int*,Float*ouDecimal*.(U)Int*ouFloat*ouDecimal*
Valor retornado
Retorna o ângulo, em radianos. Valores no intervalo: -∞ < atanh(x) < +∞ Float64
Exemplos
Exemplo de uso
SELECT atanh(0)0cbrt
Introduzido na versão: v1.1.0
Retorna a raiz cúbica do argumento.
Sintaxe
cbrt(x)Argumentos
Valor retornado
Retorna a raiz cúbica de x. Float*
Exemplos
Exemplo de uso
SELECT cbrt(8);2cos
Introduzido em: v1.1.0
Retorna o cosseno do argumento.
Sintaxe
cos(x)Argumentos
Valor retornado
Retorna o cosseno de x. Float*
Exemplos
Exemplo de uso
SELECT cos(0);1cosh
Introduzido em: v20.12.0
Retorna o cosseno hiperbólico do argumento.
Sintaxe
cosh(x)Argumentos
Valor retornado
Retorna valores no intervalo: 1 ≤ cosh(x) < +∞ Float64
Exemplos
Uso básico
SELECT cosh(0)1degrees
Introduzido em: v22.2.0
Converte radianos em graus.
Sintaxe
degrees(x)Argumentos
Valor retornado
Retorna o valor de x em graus. Float64
Exemplos
Uso básico
SELECT degrees(3.141592653589793)180e
Introduzido em: v1.1.0
Retorna a constante de Euler (e).
Sintaxe
e()Argumentos
- Nenhum.
Valor retornado
Retorna a constante de Euler Float64
Exemplos
Exemplo de uso
SELECT e();2.718281828459045erf
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
erf(x)Argumentos
Valor retornado
Retorna o valor da função de erro Float*
Exemplos
Regra dos três sigmas
SELECT erf(3 / sqrt(2))┌─erf(divide(3, sqrt(2)))─┐
│ 0.9973002039367398 │
└─────────────────────────┘erfc
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
erfc(x)Argumentos
Valor retornado
Retorna o valor da função de erro complementar Float*
Exemplos
Exemplo de uso
SELECT erfc(0);1exp
Introduzido em: v1.1.0
Retorna e elevado à potência de x, em que x é o argumento dado à função.
Sintaxe
exp(x)Argumentos
Valor retornado
Retorna e^x Float*
Exemplos
Uso básico
SELECT round(exp(-1), 4)┌─round(exp(-1), 4)─┐
│ 0.3679 │
└───────────────────┘exp10
Introduzido em: v1.1.0
Retorna 10 elevado ao argumento fornecido.
Sintaxe
exp10(x)Argumentos
Valor retornado
Retorna 10^x Float*
Exemplos
Exemplo de uso
SELECT exp10(2);100exp2
Introduzido em: v1.1.0
Retorna 2 elevado ao argumento fornecido.
Sintaxe
exp2(x)Argumentos
Valor retornado
Retorna 2^x Float*
Exemplos
Exemplo de uso
SELECT exp2(3);8fatorial
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
factorial(n)Argumentos
n— Valor inteiro para o qual o fatorial deve ser calculado. O valor máximo é 20.(U)Int8/16/32/64
Valor retornado
Retorna o fatorial da entrada como UInt64. Retorna 1 para entrada 0 ou qualquer valor negativo. UInt64
Exemplos
Exemplo de uso
SELECT factorial(10)3628800hypot
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
hypot(x, y)Argumentos
x— O primeiro cateto de um triângulo retângulo.(U)Int*ouFloat*ouBFloat16ouDecimal*y— O segundo cateto de um triângulo retângulo.(U)Int*ouFloat*ouBFloat16ouDecimal*
Valor retornado
Retorna o comprimento da hipotenusa de um triângulo retângulo. Float64
Exemplos
Uso básico
SELECT hypot(1, 1)1.4142135623730951intExp10
Introduzido na versão: v1.1.0
Semelhante a exp10, mas retorna um número UInt64.
Sintaxe
intExp10(x)Argumentos
Valor retornado
Retorna 10^x. UInt64
Exemplos
Exemplo de uso
SELECT intExp10(2);100intExp2
Introduzido na: v1.1.0
Semelhante a exp2, mas retorna um número UInt64.
Sintaxe
intExp2(x)Argumentos
Valor retornado
Retorna 2^x. UInt64
Exemplos
Exemplo de uso
SELECT intExp2(3);8isPrime
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 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 no lugar.
Sintaxe
isPrime(n)Argumentos
Valor retornado
Retorna 1 se n for primo; caso contrário, 0. UInt8
Exemplos
Número primo
SELECT isPrime(17)1Número composto
SELECT isPrime(18)0Grande número primo UInt64
SELECT isPrime(18446744073709551557)1Valor máximo de UInt64
SELECT isPrime(18446744073709551615)0isProbablePrime
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. 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 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
isProbablePrime(n[, rounds])Argumentos
n— Inteiro sem sinal a ser testado quanto à primalidade.UInt8ouUInt16ouUInt32ouUInt64ouUInt128ouUInt256rounds— Constante inteira positiva opcional em[1, 256]. Número de rodadas de Miller-Rabin paraUInt128/UInt256(ignorado para tipos menores). O padrão é25.UInt8ouUInt16ouUInt32ouUInt64
Valor retornado
Retorna 1 se n for provavelmente primo e 0 se for definitivamente composto. UInt8
Exemplos
Primo pequeno
SELECT isProbablePrime(17)1Composto pequeno
SELECT isProbablePrime(18)0Maior número primo UInt64 (resultado exato)
SELECT isProbablePrime(18446744073709551557)1Primo de Mersenne M_127 (UInt128)
SELECT isProbablePrime(toUInt128('170141183460469231731687303715884105727'))1Número primo do campo base da Curve25519 2^255 - 19 (UInt256)
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'))1Teste mais rápido, com menor confiabilidade: 5 rodadas
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'), 5)1lgamma
Introduzido em: v1.1.0
Retorna o logaritmo da função gama.
Sintaxe
lgamma(x)Argumentos
Valor retornado
Retorna o logaritmo da função gama de x. Float*
Exemplos
Exemplo de uso
SELECT lgamma(5);3.1780538303479458log
Introduzido em: v1.1.0
Retorna o logaritmo natural do argumento.
Sintaxe
log(x)Aliases: ln
Argumentos
Valor retornado
Retorna o logaritmo natural de x. Float*
Exemplos
Exemplo de uso
SELECT log(10);2.3025850938475476log10
Introduzido em: v1.1.0
Retorna o logaritmo decimal do argumento.
Sintaxe
log10(x)Argumentos
Valor retornado
Retorna o logaritmo decimal de x. Float*
Exemplos
Exemplo de uso
SELECT log10(100);2log1p
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
log1p(x)Argumentos
Valor retornado
Retorna valores no intervalo: -∞ < log1p(x) < +∞ Float64
Exemplos
Exemplo de uso
SELECT log1p(0)0log2
Introduzido em: v1.1.0
Retorna o logaritmo binário do argumento.
Sintaxe
log2(x)Argumentos
Valor retornado
Retorna o logaritmo binário de x. Float*
Exemplos
Exemplo de uso
SELECT log2(8);3pi
Introduzido em: v1.1.0
Retorna π (pi).
Sintaxe
pi()Argumentos
- Nenhum.
Valor retornado
Retorna pi Float64
Exemplos
Exemplo de uso
SELECT pi();3.141592653589793pow
Introduzido em: v1.1.0
Retorna x elevado à potência de y.
Sintaxe
pow(x, y)Aliases: power
Argumentos
x— A base.(U)Int8/16/32/64ouFloat*ouBFloat16ouDecimal*y— O expoente.(U)Int8/16/32/64ouFloat*ouBFloat16ouDecimal*
Valor retornado
Retorna x^y como Float64
Exemplos
Exemplo de uso
SELECT pow(2, 3);8proportionsZTest
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
proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)Argumentos
successes_x— Número de sucessos na população x.UInt64successes_y— Número de sucessos na população y.UInt64trials_x— Número de ensaios na população x.UInt64trials_y— Número de ensaios na população y.UInt64conf_level— Nível de confiança do teste.Float64pool_type— Seleção do método de pooling para estimativa do erro padrão. Pode ser 'unpooled' ou 'pooled'.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)
Exemplos
Exemplo de uso
SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘radians
Introduzido na versão: v22.2.0
Converte graus em radianos.
Sintaxe
radians(x)Argumentos
Valor retornado
Retorna o valor em radianos Float64
Exemplos
Exemplo de uso
SELECT radians(180)3.141592653589793sigmoid
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
sigmoid(x)Argumentos
Valor retornado
Retorna o sigmoide do valor de entrada, no intervalo (0, 1). Float64
Exemplos
Uso básico
SELECT sigmoid(0)0.5sign
Introduzido em: v21.2.0
Retorna o sinal de um número real.
Sintaxe
sign(x)Argumentos
Valor retornado
Retorna -1 para x < 0, 0 para x = 0 e 1 para x > 0. Int8
Exemplos
Sinal de zero
SELECT sign(0)0Sinal de positivo
SELECT sign(1)1Sinal de negativo
SELECT sign(-1)-1sin
Introduzido em: v1.1.0
Retorna o seno do argumento.
Sintaxe
sin(x)Argumentos
Valor retornado
Retorna o seno de x.
Exemplos
simples
SELECT sin(1.23)0.9424888019316975sinh
Introduzido em: v20.12.0
Retorna o seno hiperbólico.
Sintaxe
sinh(x)Argumentos
Valor retornado
Retorna valores no intervalo: -∞ < sinh(x) < +∞ Float64
Exemplos
Exemplo de uso
SELECT sinh(0)0sqrt
Introduzido na versão: v1.1.0
Retorna a raiz quadrada do argumento.
Sintaxe
sqrt(x)Argumentos
Valor retornado
Retorna a raiz quadrada de x Float*
Exemplos
Exemplo de uso
SELECT sqrt(16);4tan
Introduzido em: v1.1.0
Retorna a tangente do argumento.
Sintaxe
tan(x)Argumentos
Valor retornado
Retorna a tangente de x. Float*
Exemplos
Exemplo de uso
SELECT tan(0);0tanh
Introduzido em: v20.1.0
Retorna a tangente hiperbólica.
Sintaxe
tanh(x)Argumentos
Valor retornado
Retorna valores no intervalo: -1 < tanh(x) < 1 Float*
Exemplos
Exemplo de uso
SELECT tanh(0)0tgamma
Introduzido em: v1.1.0
Retorna a função gama.
Sintaxe
tgamma(x)Argumentos
Valor retornado
Retorna o valor da função gama Float*
Exemplos
Exemplo de uso
SELECT tgamma(5);24widthBucket
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
widthBucket(operand, low, high, count)Aliases: width_bucket
Argumentos
operand— O valor para o qual o bucket deve ser determinado.(U)Int8/16/32/64low— O limite inferior do intervalo do histograma.(U)Int8/16/32/64high— O limite superior do intervalo do histograma.(U)Int8/16/32/64count— O número de buckets de mesma largura. Não pode ser zero.UInt8/16/32/64
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
Exemplos
Exemplo de uso
SELECT widthBucket(10.15, -8.6, 23, 18)11