Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Funciones matemáticas

acos

Introducido en: v1.1.0

Devuelve el arcocoseno del argumento.

Sintaxis

acos(x)

Argumentos

Valor devuelto

Devuelve el arcocoseno de x Float*

Ejemplos

Ejemplo de uso

SELECT acos(0.5);
1.0471975511965974

acosh

Introducido en: v20.12.0

Devuelve el coseno hiperbólico inverso.

Sintaxis

acosh(x)

Argumentos

  • x — Coseno hiperbólico del ángulo. Valores en el intervalo: 1 ≤ x < +∞. (U)Int* o Float* o Decimal*

Valor devuelto

Devuelve el ángulo en radianes. Valores en el intervalo: 0 ≤ acosh(x) < +∞. Float64

Ejemplos

Ejemplo de uso

SELECT acosh(1)
0

asin

Introducido en: v1.1.0

Calcula el arcoseno del argumento indicado. Para argumentos en el intervalo [-1, 1], devuelve un valor en el intervalo [-pi() / 2, pi() / 2].

Sintaxis

asin(x)

Argumentos

Valor devuelto

Devuelve el valor del arcoseno del argumento x Float64

Ejemplos

inversa

SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
1	1	0.9999999999999999

float32

SELECT toTypeName(asin(1.0::Float32))
Float64

nan

SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
nan	nan	nan	nan

asinh

Introducido en: v20.12.0

Devuelve el arcoseno hiperbólico.

Sintaxis

asinh(x)

Argumentos

  • x — Seno hiperbólico del ángulo. Valores en el intervalo: -∞ < x < +∞. (U)Int* o Float* o Decimal*

Valor devuelto

Devuelve el ángulo, en radianes. Valores en el intervalo: -∞ < asinh(x) < +∞. Float64

Ejemplos

Uso básico

SELECT asinh(0)
0

atan

Introducido en: v1.1.0

Devuelve la arcotangente del argumento.

Sintaxis

atan(x)

Argumentos

Valor devuelto

Devuelve la arcotangente de x. Float*

Ejemplos

Ejemplo de uso

SELECT atan(1);
0.7853981633974483

atan2

Introducido en: v20.12.0

Devuelve atan2 como el ángulo en el plano euclidiano, expresado en radianes, entre el eje x positivo y la semirrecta que pasa por el punto (x, y) ≠ (0, 0).

Sintaxis

atan2(y, x)

Argumentos

Valor devuelto

Devuelve el ángulo θ tal que -π < θ ≤ π, en radianes. Float64

Ejemplos

Ejemplo de uso

SELECT atan2(1, 1)
0.7853981633974483

atanh

Introducido en: v20.12.0

Devuelve la tangente hiperbólica inversa.

Sintaxis

atanh(x)

Argumentos

  • x — Tangente hiperbólica del ángulo. Valores en el intervalo: -1 < x < 1. (U)Int*, Float* o Decimal*. (U)Int* o Float* o Decimal*

Valor devuelto

Devuelve el ángulo en radianes. Valores en el intervalo: -∞ < atanh(x) < +∞ Float64

Ejemplos

Ejemplo de uso

SELECT atanh(0)
0

cbrt

Introducida en: v1.1.0

Devuelve la raíz cúbica del argumento.

Sintaxis

cbrt(x)

Argumentos

Valor devuelto

Devuelve la raíz cúbica de x. Float*

Ejemplos

Ejemplo de uso

SELECT cbrt(8);
2

cos

Introducido en: v1.1.0

Devuelve el coseno del argumento.

Sintaxis

cos(x)

Argumentos

Valor devuelto

Devuelve el coseno hiperbólico de x. Float*

Ejemplos

Ejemplo de uso

SELECT cos(0);
1

cosh

Introducido en: v20.12.0

Devuelve el coseno hiperbólico del argumento.

Sintaxis

cosh(x)

Argumentos

Valor devuelto

Devuelve valores en el intervalo: 1 ≤ cosh(x) < +∞ Float64

Ejemplos

Uso básico

SELECT cosh(0)
1

degrees

Introducido en: v22.2.0

Convierte radianes a grados.

Sintaxis

degrees(x)

Argumentos

Valor devuelto

Devuelve el valor de x en grados. Float64

Ejemplos

Uso básico

SELECT degrees(3.141592653589793)
180

e

Disponible desde: v1.1.0

Devuelve la constante de Euler (e).

Sintaxis

e()

Argumentos

  • Ninguno.

Valor devuelto

Devuelve la constante de Euler Float64

Ejemplos

Ejemplo de uso

SELECT e();
2.718281828459045

erf

Introducido en: v1.1.0

Si x no es negativo, entonces erf(x/(σ√2)) es la probabilidad de que una variable aleatoria con distribución normal y desviación estándar σ tome un valor que difiera del valor esperado en más de x.

Sintaxis

erf(x)

Argumentos

Valor devuelto

Devuelve el valor de la función de error Float*

Ejemplos

Regla de las tres sigmas

SELECT erf(3 / sqrt(2))
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘

erfc

Introducido en: v1.1.0

Devuelve un número próximo a 1-erf(x) sin pérdida de precisión para valores grandes de x.

Sintaxis

erfc(x)

Argumentos

Valor devuelto

Devuelve el valor de la función de error complementaria Float*

Ejemplos

Ejemplo de uso

SELECT erfc(0);
1

exp

Introducido en: v1.1.0

Devuelve e elevada a la potencia de x, donde x es el argumento dado de la función.

Sintaxis

exp(x)

Argumentos

Valor devuelto

Devuelve e^x Float*

Ejemplos

Uso básico

SELECT round(exp(-1), 4)
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘

exp10

Introducido en: v1.1.0

Devuelve 10 elevado a la potencia del argumento dado.

Sintaxis

exp10(x)

Argumentos

Valor devuelto

Devuelve 10^x Float*

Ejemplos

Ejemplo de uso

SELECT exp10(2);
100

exp2

Introducido en: v1.1.0

Devuelve 2 elevado al argumento dado.

Sintaxis

exp2(x)

Argumentos

Valor devuelto

Devuelve 2^x Float*

Ejemplos

Ejemplo de uso

SELECT exp2(3);
8

factorial

Introducido en: v22.11.0

Calcula el factorial de un valor entero. El factorial de 0 es 1. Asimismo, la función factorial() devuelve 1 para cualquier valor negativo. El valor positivo máximo del argumento de entrada es 20; un valor de 21 o superior provocará una excepción.

Sintaxis

factorial(n)

Argumentos

  • n — Valor entero para el que se calcula el factorial. El valor máximo es 20. (U)Int8/16/32/64

Valor devuelto

Devuelve el factorial del valor de entrada como UInt64. Devuelve 1 para el valor de entrada 0 o cualquier valor negativo. UInt64

Ejemplos

Ejemplo de uso

SELECT factorial(10)
3628800

hypot

Introducido en: v20.12.0

Devuelve la longitud de la hipotenusa de un triángulo rectángulo. hypot evita los problemas que se producen al elevar al cuadrado números muy grandes o muy pequeños.

Sintaxis

hypot(x, y)

Argumentos

Valor devuelto

Devuelve la longitud de la hipotenusa de un triángulo rectángulo. Float64

Ejemplos

Uso básico

SELECT hypot(1, 1)
1.4142135623730951

intExp10

Introducido en: v1.1.0

Igual que exp10, pero devuelve un número UInt64.

Sintaxis

intExp10(x)

Argumentos

Valor devuelto

Devuelve 10^x. UInt64

Ejemplos

Ejemplo de uso

SELECT intExp10(2);
100

intExp2

Introducido en: v1.1.0

Igual que exp2, pero devuelve un número UInt64.

Sintaxis

intExp2(x)

Argumentos

Valor devuelto

Devuelve 2^x. UInt64

Ejemplos

Ejemplo de uso

SELECT intExp2(3);
8

isPrime

Introducido en: v26.5.0

Devuelve 1 si el argumento es un número primo; de lo contrario, 0.

Usa un bitmap de búsqueda exacta para valores pequeños y una prueba de Miller-Rabin determinista para valores más grandes. El resultado es exacto para todos los tipos de entrada admitidos.

Para tipos de enteros sin signo de mayor tamaño (UInt128, UInt256), use isProbablePrime en su lugar.

Sintaxis

isPrime(n)

Argumentos

Valor devuelto

Devuelve 1 si n es primo; en caso contrario, 0. UInt8

Ejemplos

Número primo

SELECT isPrime(17)
1

Número compuesto

SELECT isPrime(18)
0

Número primo grande de UInt64

SELECT isPrime(18446744073709551557)
1

Valor máximo de UInt64

SELECT isPrime(18446744073709551615)
0

isProbablePrime

Introducido en: v26.5.0

Devuelve 1 si el argumento probablemente es primo y 0 si sin duda es compuesto.

Para UInt8, UInt16, UInt32 y UInt64, el resultado es exacto y coincide con isPrime. El argumento rounds se ignora.

Para UInt128 y UInt256, un valor de retorno de 1 es probabilístico. El argumento opcional rounds controla cuántas rondas de Miller-Rabin se usan: cuantas más rondas, menor es la probabilidad de un falso positivo y mayor el tiempo de ejecución. Con testigos aleatorios uniformes, la tasa de falsos positivos para un compuesto fijo está acotada por 4^(-rounds); el valor predeterminado de 25 mantiene esta cota por debajo de 10^-15, y el máximo de 256 la mantiene por debajo de 10^-154.

La función es determinista: los testigos se derivan de n, por lo que el mismo par (n, rounds) siempre produce el mismo resultado. La cota 4^(-rounds) es la probabilidad por entrada con testigos aleatorios uniformes; con nuestra inicialización determinista, en cambio, describe una fracción de las entradas: un compuesto que engañe a su secuencia de testigos devolverá 1 de forma reproducible.

Sintaxis

isProbablePrime(n[, rounds])

Argumentos

  • n — Entero sin signo que se va a comprobar si es primo. UInt8 o UInt16 o UInt32 o UInt64 o UInt128 o UInt256
  • rounds — Constante entera positiva opcional en [1, 256]. Número de rondas de Miller-Rabin para UInt128/UInt256 (se ignora en tipos más pequeños). El valor predeterminado es 25. UInt8 o UInt16 o UInt32 o UInt64

Valor devuelto

Devuelve 1 si n probablemente es primo y 0 si definitivamente es compuesto. UInt8

Ejemplos

Primo pequeño

SELECT isProbablePrime(17)
1

Número compuesto pequeño

SELECT isProbablePrime(18)
0

El número primo UInt64 más grande (resultado exacto)

SELECT isProbablePrime(18446744073709551557)
1

Número primo de Mersenne M_127 (UInt128)

SELECT isProbablePrime(toUInt128('170141183460469231731687303715884105727'))
1

Número primo del campo base de Curve25519 2^255 - 19 (UInt256)

SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'))
1

Verificación más rápida, con menor fiabilidad: 5 rondas

SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'), 5)
1

lgamma

Introducido en: v1.1.0

Devuelve el logaritmo de la función gamma.

Sintaxis

lgamma(x)

Argumentos

Valor devuelto

Devuelve el logaritmo de la función gamma de x. Float*

Ejemplos

Ejemplo de uso

SELECT lgamma(5);
3.1780538303479458

log

Introducido en: v1.1.0

Devuelve el logaritmo natural del argumento.

Sintaxis

log(x)

Alias: ln

Argumentos

Valor devuelto

Devuelve el logaritmo natural de x. Float*

Ejemplos

Ejemplo de uso

SELECT log(10);
2.3025850938475476

log10

Introducido en: v1.1.0

Devuelve el logaritmo decimal del argumento.

Sintaxis

log10(x)

Argumentos

Valor devuelto

Devuelve el logaritmo decimal de x. Float*

Ejemplos

Ejemplo de uso

SELECT log10(100);
2

log1p

Introducida en: v20.12.0

Calcula log(1+x). El cálculo de log1p(x) es más preciso que log(1+x) para valores pequeños de x.

Sintaxis

log1p(x)

Argumentos

Valor devuelto

Devuelve valores en el intervalo: -∞ < log1p(x) < +∞ Float64

Ejemplos

Ejemplo de uso

SELECT log1p(0)
0

log2

Introducido en: v1.1.0

Devuelve el logaritmo binario del argumento.

Sintaxis

log2(x)

Argumentos

Valor devuelto

Devuelve el logaritmo binario de x. Float*

Ejemplos

Ejemplo de uso

SELECT log2(8);
3

pi

Introducido en: v1.1.0

Devuelve pi (π).

Sintaxis

pi()

Argumentos

  • Ninguno.

Valor devuelto

Devuelve pi Float64

Ejemplos

Ejemplo de uso

SELECT pi();
3.141592653589793

pow

Introducido en: v1.1.0

Devuelve x elevado a y.

Sintaxis

pow(x, y)

Alias: power

Argumentos

Valor devuelto

Devuelve x^y como Float64

Ejemplos

Ejemplo de uso

SELECT pow(2, 3);
8

proportionsZTest

Introducido en: v22.3.0

Devuelve estadísticas de prueba para la prueba Z de dos proporciones, una prueba estadística para comparar las proporciones de dos poblaciones, x e y. La función admite métodos de estimación combinada y no combinada para el error estándar. En la versión combinada, las dos proporciones se promedian y se utiliza una sola proporción para estimar el error estándar. En la versión no combinada, las dos proporciones se utilizan por separado.

Sintaxis

proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)

Argumentos

  • successes_x — Número de éxitos en la población x. UInt64
  • successes_y — Número de éxitos en la población y. UInt64
  • trials_x — Número de ensayos en la población x. UInt64
  • trials_y — Número de ensayos en la población y. UInt64
  • conf_level — Nivel de confianza de la prueba. Float64
  • pool_type — Selección del método de agrupación para estimar el error estándar. Puede ser 'unpooled' o 'pooled'. String

Valor devuelto

Devuelve una tupla que contiene: z_stat (estadístico Z), p_val (valor p), ci_low (límite inferior del intervalo de confianza), ci_high (límite superior del intervalo de confianza). Tuple(Float64, Float64, Float64, Float64)

Ejemplos

Ejemplo 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

Introducido en: v22.2.0

Convierte grados en radianes.

Sintaxis

radians(x)

Argumentos

Valor devuelto

Devuelve un valor en radianes Float64

Ejemplos

Ejemplo de uso

SELECT radians(180)
3.141592653589793

sigmoid

Introducido en: v20.1.0

Calcula la función sigmoide: 1 / (1 + exp(-x)). La función sigmoide asigna cualquier número real al intervalo (0, 1) y se utiliza habitualmente en el aprendizaje automático.

Sintaxis

sigmoid(x)

Argumentos

Valor devuelto

Devuelve la sigmoide del valor de entrada, en el intervalo (0, 1). Float64

Ejemplos

Uso básico

SELECT sigmoid(0)
0.5

sign

Introducido en: v21.2.0

Devuelve el signo de un número real.

Sintaxis

sign(x)

Argumentos

Valor devuelto

Devuelve -1 para x < 0, 0 para x = 0 y 1 para x > 0. Int8

Ejemplos

Signo de cero

SELECT sign(0)
0

Signo positivo

SELECT sign(1)
1

Signo negativo

SELECT sign(-1)
-1

sin

Introducido en: v1.1.0

Devuelve el seno del argumento.

Sintaxis

sin(x)

Argumentos

Valor devuelto

Devuelve el seno de x.

Ejemplos

simple

SELECT sin(1.23)
0.9424888019316975

sinh

Introducido en: v20.12.0

Devuelve el seno hiperbólico.

Sintaxis

sinh(x)

Argumentos

Valor devuelto

Devuelve valores en el intervalo: -∞ < sinh(x) < +∞ Float64

Ejemplos

Ejemplo de uso

SELECT sinh(0)
0

sqrt

Introducido en: v1.1.0

Devuelve la raíz cuadrada del argumento.

Sintaxis

sqrt(x)

Argumentos

Valor devuelto

Devuelve la raíz cuadrada de x Float*

Ejemplos

Ejemplo de uso

SELECT sqrt(16);
4

tan

Introducido en: v1.1.0

Devuelve la tangente del argumento.

Sintaxis

tan(x)

Argumentos

Valor devuelto

Devuelve la tangente de x. Float*

Ejemplos

Ejemplo de uso

SELECT tan(0);
0

tanh

Introducido en: v20.1.0

Devuelve la tangente hiperbólica.

Sintaxis

tanh(x)

Argumentos

Valor devuelto

Devuelve valores en el intervalo: -1 < tanh(x) < 1 Float*

Ejemplos

Ejemplo de uso

SELECT tanh(0)
0

tgamma

Introducido en: v1.1.0

Devuelve la función gamma.

Sintaxis

tgamma(x)

Argumentos

Valor devuelto

Devuelve el valor de la función gamma Float*

Ejemplos

Ejemplo de uso

SELECT tgamma(5);
24

widthBucket

Introducido en: v23.3.0

Devuelve el número del bucket en el que cae el parámetro operand en un histograma con count buckets de igual amplitud que abarcan el intervalo de low a high. Devuelve 0 si operand es menor que low, y devuelve count+1 si operand es mayor o igual que high. También existe un alias que no distingue entre mayúsculas y minúsculas, llamado WIDTH_BUCKET, para ofrecer compatibilidad con otras bases de datos.

Sintaxis

widthBucket(operand, low, high, count)

Alias: width_bucket

Argumentos

  • operand — El valor para el que se debe determinar el bucket. (U)Int8/16/32/64
  • low — El límite inferior del intervalo del histograma. (U)Int8/16/32/64
  • high — El límite superior del rango del histograma. (U)Int8/16/32/64
  • count — El número de buckets de igual ancho. No puede ser cero. UInt8/16/32/64

Valor devuelto

Devuelve el número de bucket como un valor entero. Devuelve 0 si operand < low y count+1 si operand >= high. UInt8/16/32/64

Ejemplos

Ejemplo de uso

SELECT widthBucket(10.15, -8.6, 23, 18)
11
Navigation