Todos los productos
Search
Centro de documentos

Simple Log Service:Funciones matemáticas

Última actualización: Sep 02, 2026

Este tema explica la sintaxis básica de las funciones matemáticas y proporciona ejemplos.

A continuación se listan las funciones matemáticas compatibles con Simple Log Service.

Nota
  • Se admiten los siguientes operadores:

    +-*/%

    De forma predeterminada, el operador / descarta la parte decimal del resultado. Para conservar la parte decimal, utilice una operación como x*1.0/y.

  • En una instrucción analítica de Log Service, las cadenas deben ir entre comillas simples (''). Log Service interpreta el texto sin comillas o el texto entre comillas dobles ("") como un nombre de campo o de columna. Por ejemplo, 'status' representa la cadena 'status', mientras que status o "status" representa el campo de registro status.

Función

Sintaxis

Descripción

SQL

SPL

abs function

abs(x)

Devuelve el valor absoluto de x.

√

√

acos function

acos(x)

Devuelve el arco coseno de x.

√

√

asin function

asin(x)

Devuelve el arco seno de x.

√

√

atan function

atan(x)

Devuelve el arco tangente de x.

√

√

atan2 function

atan2(x, y)

Devuelve el arco tangente de x dividido por y.

√

√

cbrt function

cbrt(x)

Devuelve la raíz cúbica de x.

√

√

ceil function

ceil(x)

Redondea x hacia arriba al entero más cercano.

Esta función es un alias de la función ceiling.

√

√

ceiling function

ceiling(x)

Redondea x hacia arriba al entero más cercano.

√

√

cos function

cos(x)

Devuelve el coseno de x.

√

√

cosh function

cosh(x)

Devuelve el coseno hiperbólico de x.

√

√

cosine_similarity function

cosine_similarity(x, y)

Devuelve la similitud del coseno entre x y y.

√

×

degrees function

degrees(x)

Convierte un ángulo de radianes a grados.

√

√

e function

e()

Devuelve el valor de e, la base del logaritmo natural.

√

√

exp function

exp(x)

Eleva e a la potencia de x.

√

×

floor function

floor(x)

Redondea x hacia abajo al entero más cercano.

√

√

from_base function

from_base(x, y)

Convierte la cadena x en base y a un número.

√

√

ln function

ln(x)

Devuelve el logaritmo natural de x.

√

√

infinity function

infinity()

Devuelve un valor que representa infinito positivo.

√

√

is_nan function

is_nan(x)

Comprueba si x es Not a Number (NaN).

√

√

log2 function

log2(x)

Devuelve el logaritmo en base 2 de x.

√

√

log10 function

log10(x)

Devuelve el logaritmo en base 10 de x.

√

√

log function

log(x, y)

Devuelve el logaritmo en base y de x.

√

×

mod function

mod(x, y)

Devuelve el resto de x dividido por y.

√

√

nan function

nan()

Devuelve un valor NaN.

√

√

pi function

pi()

Devuelve el valor de π con 15 decimales.

√

√

pow function

pow(x, y)

Eleva x a la potencia de y.

Esta función es un alias de la función power.

√

√

power function

power(x, y)

Eleva x a la potencia de y.

√

√

radians function

radians(x)

Convierte un ángulo de grados a radianes.

√

√

rand function

rand()

Devuelve un número aleatorio.

√

√

random function

random()

Devuelve un número aleatorio en el rango [0, 1).

√

√

random(x)

Devuelve un número aleatorio en el rango [0, x).

√

√

round function

round(x)

Redondea x al entero más cercano.

√

√

round(x, n)

Redondea x a n decimales.

√

√

sign function

sign(x)

Devuelve el signo de x como 1, 0 o -1.

√

×

sin function

sin(x)

Devuelve el seno de x.

√

√

sqrt function

sqrt(x)

Devuelve la raíz cuadrada de x.

√

√

tan function

tan(x)

Devuelve la tangente de x.

√

√

tanh function

tanh(x)

Devuelve la tangente hiperbólica de x.

√

√

to_base function

to_base(x, y)

Convierte el número x a su representación en cadena en base y.

√

×

truncate function

truncate(x)

Elimina la parte fraccionaria de x.

√

√

width_bucket function

width_bucket(x, bound1, bound2, numBuckets)

Devuelve el número de bucket de x dentro de un rango dividido en buckets de ancho igual.

√

×

width_bucket(x, bins)

Utiliza un arreglo para especificar el rango de los buckets y devuelve el bucket al que pertenece x.

√

×

Función abs

La función abs calcula el valor absoluto de x.

Syntax

abs(x)

Parameters

Parámetro

Descripción

x

El parámetro puede ser smallint, integer, real, tinyint, bigint, double o decimal.

Return value type

El valor devuelto tiene el mismo tipo de datos que el parámetro de entrada.

Examples

Calcule el valor absoluto de -25.

  • Instrucción de consulta y análisis

    * | select abs(-25)
  • Resultados de la consulta y el análisis: 25.

Función acos

Calcula el arco coseno de x.

Syntax

acos(x)

Parameters

Parámetro

Descripción

x

Este parámetro debe ser un valor double en el rango [-1, 1].

Si el valor está fuera de este rango, la función devuelve NaN.

Return value type

Un valor double.

Examples

Este ejemplo calcula el arco coseno de pi()/4.

  • Instrucción de consulta

    * | SELECT acos(pi()/4)
  • Resultados de la consulta y el análisis: La consulta devuelve 0.6674572160283838.

Función asin

Calcula el arco seno de x.

Syntax

asin(x)

Parameters

Parámetro

Descripción

x

Un valor double en el rango [-1, 1].

Si el valor está fuera de este rango, la función devuelve NaN.

Return value type

double

Examples

Calcula el arco seno de π/4.

  • Instrucción de consulta y análisis

    * | SELECT  asin(pi()/4)
  • Resultados de la consulta y el análisis: 0.9033391101131845.

Función atan

Calcula el arco tangente de x.

Syntax

atan(x)

Parameters

Parámetro

Descripción

x

El valor debe ser de tipo double.

Return value type

Devuelve un valor double.

Examples

Este ejemplo calcula el arco tangente de pi()/4.

  • Instrucción de consulta

    * | SELECT atan(pi()/4)
  • Resultado de la consulta: 0.6657737500283538

Función atan2

Calcula el arco tangente de x dividido por y.

Syntax

atan2(x, y)

Parameters

Parámetro

Descripción

x

Un valor double.

y

Un valor double.

Return value type

Devuelve un valor double.

Examples

Calcule el arco tangente de π dividido por 6.

  • Instrucción de consulta

    * | SELECT atan2(pi(),6)
  • Resultado de la consulta: El valor devuelto es 0.48234790710102495.

Función cbrt

Calcula la raíz cúbica de x.

Syntax

cbrt(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Devuelve un valor double.

Examples

Calcule la raíz cúbica de 100.

  • Instrucción de consulta

    * | select cbrt(100)
  • Resultado de la consulta: 4.641588833612779.

Función ceil

La función ceil redondea x hacia arriba al entero más cercano. La función ceil es un alias de la función ceiling.

Syntax

ceil(x)

Parameters

Parámetro

Descripción

x

Un valor de los tipos tinyint, smallint, integer, real, bigint, double o decimal.

  • Si x es un número positivo, la función redondea el valor alejándolo de 0.

  • Si x es un número negativo, la función redondea el valor acercándolo a 0.

Return value type

El valor devuelto tiene el mismo tipo de datos que el parámetro.

Examples

Redondee el valor del campo request_time hacia arriba al entero más cercano.

  • Campo de ejemplo

    request_time:9.3
  • Instrucción de consulta

    * | SELECT ceil(request_time) AS request_time
  • Resultados de la consulta: El valor de la columna request_time es 10.0.

Función ceiling

La función ceiling redondea x hacia arriba al entero más cercano.

Syntax

ceiling(x)

Parameters

Parámetro

Descripción

x

Un valor de tipo tinyint, smallint, integer, real, bigint, double o decimal.

  • Si x es un número positivo, la función redondea el valor alejándolo de 0.

  • Si x es un número negativo, la función redondea el valor acercándolo a 0.

Return value type

El mismo tipo de datos que el parámetro.

Examples

Redondea el valor del campo request_time hacia arriba al entero más cercano.

  • Campo de ejemplo

    request_time:9.3
  • Instrucción de consulta y análisis

    * | SELECT ceiling(request_time) AS request_time
  • Resultados de la consulta y el análisis: La columna request_time es 10.0.

Función cos

Calcula el coseno de x.

Syntax

cos(x)

Parameters

Parámetro

Descripción

x

El parámetro debe ser de tipo double.

Return value type

Devuelve un valor double.

Examples

Calcula el coseno de 30 grados.

  • Instrucción de consulta y análisis

    * | SELECT cos(pi()/6)
  • Resultado de la consulta y el análisis: 0.8660254037844387.

Función cosh

La función cosh calcula el coseno hiperbólico de x.

Syntax

cosh(x)

Parameters

Parámetro

Descripción

x

El valor es de tipo double.

Return value type

Devuelve un valor double.

Examples

Calcule el coseno hiperbólico de un ángulo de 30°.

  • Instrucción de consulta y análisis

    * | SELECT cosh(pi()/6)
  • Resultados de la consulta y el análisis: 1.1402383210764287.

Cosine_similarity

Esta función calcula la similitud del coseno entre x e y.

Syntax

cosine_similarity(x, y)

Parameters

Parámetro

Descripción

x

El parámetro es de tipo map(varchar, double).

y

El parámetro es de tipo map(varchar, double).

Return value type

Devuelve un valor double.

Examples

Calcula la similitud del coseno entre dos vectores.

  • Consulta

    * | SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0]))
  • La consulta devuelve 1.0.

Función degrees

La función degrees convierte un ángulo de radianes a grados.

Syntax

degrees(x)

Parameters

Parámetro

Descripción

x

El ángulo en radianes, especificado como un valor double.

Return value type

El ángulo equivalente en grados, devuelto como un valor double.

Examples

Convierta π radianes a grados.

  • Instrucción de consulta

    * | SELECT degrees(pi())
  • Resultados de la consulta y el análisis: El resultado es 180.0.

Función e

La función e devuelve el valor de e, la base del logaritmo natural.

Syntax

e()

Return value type

Un valor double.

Examples

Devuelve el valor de e.

  • Consulta

    * | SELECT e()
  • Resultados de la consulta y el análisis: El valor devuelto es 2.718281828459045.

Función exp

Calcula e elevado a la potencia x.

Syntax

exp(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Un valor double.

Examples

Calcula e elevado a la potencia 3.

  • Instrucción de consulta y análisis

    * | SELECT exp(3)
  • Resultado de la consulta y el análisis: El valor devuelto es 20.085536923187669.

Función floor

La función floor redondea x hacia abajo al entero más cercano.

Syntax

floor(x)

Parameters

Parámetro

Descripción

x

El valor debe ser de tipo tinyint, smallint, integer, real, bigint, double o decimal.

  • Si x es positivo, la función lo redondea acercándolo a 0.

  • Si x es negativo, la función lo redondea alejándolo de 0.

Return value type

Devuelve un valor double.

Examples

Redondea el valor del campo request_time hacia abajo al entero más cercano.

  • Campo de ejemplo

    request_time:10.3
  • Instrucción de consulta

    * | SELECT floor(request_time) AS request_time
  • Resultados de la consulta y el análisis: El valor de la columna request_time es 10.0.

Función from_base

La función from_base convierte la cadena x de la base y a un número.

Syntax

from_base(x, y)

Parameters

Parámetro

Descripción

x

Una cadena varchar.

y

La base del número. El valor debe ser un bigint de 2 a 36.

Return value type

Devuelve un valor bigint.

Examples

Convierte la cadena binaria '1101' a su equivalente decimal.

  • Instrucción de consulta

    * | SELECT  from_base('1101',2)
  • Resultados: El valor devuelto es 13.

Función ln

La función ln calcula el logaritmo natural de x.

Syntax

ln(x)

Parameters

Parámetro

Descripción

x

Un valor double mayor que 0.

Return value type

Un valor double.

Examples

Este ejemplo calcula el logaritmo natural de 2.

  • Instrucción de consulta y análisis

    * | SELECT ln(2)
  • Resultados de la consulta y el análisis: Devuelve 0.6931471805599453.

Función infinity

La función infinity devuelve infinito positivo.

Syntax

infinity()

Return value type

double

Examples

Devuelve infinito positivo.

  • Instrucción de consulta y análisis

    * | SELECT infinity()
  • Resultados de la consulta y el análisis: Infinity.

Función is_nan

La función is_nan devuelve true si x es NaN (Not a Number) y false en caso contrario.

Syntax

is_nan(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Devuelve un valor booleano.

Examples

Compruebe si el valor del campo status es NaN.

  • Instrucción de consulta y análisis

    * | SELECT is_nan(status)
  • Resultados de la consulta y el análisis: La instrucción devuelve false.

Función log2

La función log2 calcula el logaritmo en base 2 de x.

Syntax

log2(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Devuelve un valor double.

Examples

Calcule el logaritmo en base 2 de 100.

  • Instrucción de consulta y análisis

    * | SELECT log2(100)
  • Resultados de la consulta y el análisis: El valor devuelto es 6.643856189774725.

Función log10

La función log10 calcula el logaritmo en base 10 de x.

Syntax

log10(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Devuelve un valor double.

Examples

Este ejemplo calcula el logaritmo en base 10 de 100.

  • Instrucción de consulta y análisis

    * | SELECT log10(100)
  • Resultado de la consulta y el análisis: 2.0.

Función log

La función log calcula el logaritmo en base y de x.

Syntax

log(x, y)

Parameters

Parámetro

Descripción

x

El valor debe ser de tipo double.

y

El valor debe ser de tipo double.

Return value type

Devuelve un valor double.

Examples

Calcula el logaritmo en base 5 de 100.

  • Consulta

    * | SELECT log(100,5)
  • Resultado: 2.8613531161467867.

Función mod

La función mod devuelve el residuo cuando x se divide entre y.

Syntax

mod(x, y)

Parameters

Parámetro

Descripción

x

Un valor de tipo tinyint, smallint, integer, real, bigint, double o decimal.

y

Un valor de tipo tinyint, smallint, integer, real, bigint, double o decimal.

Return value type

El valor devuelto tiene el mismo tipo de datos que los parámetros de entrada.

Examples

Calcule el residuo de 100 dividido entre 30.

  • Instrucción de consulta

    * | SELECT mod(100,30)
  • Resultado de la consulta y el análisis: Devuelve 10.

Función nan

La función nan devuelve NaN (Not a Number).

Syntax

nan()

Return value type

Double.

Examples

Devuelve un valor NaN.

  • Instrucción de consulta

    * | SELECT nan()
  • Resultados de la consulta: El valor devuelto es NaN.

Función pi

Esta función devuelve el valor de π, con una precisión de 15 decimales.

Syntax

pi()

Return value type

Devuelve un valor double.

Examples

Este ejemplo devuelve el valor de π.

  • Instrucción de consulta y análisis

    * | SELECT pi()
  • Resultados de la consulta y el análisis: 3.141592653589793.

Función pow

La función pow devuelve x elevado a la potencia y. Es un alias de la función power.

Syntax

pow(x, y)

Parameters

Parámetro

Descripción

x

Un valor double.

y

Un valor double.

Return value type

Devuelve un valor double.

Examples

Eleve 2 a la potencia 5.

  • Instrucción de consulta

    * | SELECT pow(2,5)
  • Resultados de la consulta y el análisis: 32.0.

Función power

Devuelve x elevado a la potencia y.

Syntax

power(x, y)

Parameters

Parámetro

Descripción

x

Un valor double.

y

Un valor double.

Return value type

Un valor double.

Examples

Calcule 2 elevado a la potencia 5.

  • Instrucción de consulta y análisis

    * | SELECT power(2,5)
  • Resultados de la consulta y el análisis: Devuelve 32.0.

Función radians

Convierte un ángulo de grados a radianes.

Syntax

radians(x)

Parameters

Parámetro

Descripción

x

Debe ser un valor double.

Return value type

Devuelve un valor double.

Examples

Convierta 180 grados a radianes.

  • Instrucción de consulta

    * | SELECT radians(180)
  • Resultados de la consulta: 3.141592653589793

Función rand

La función rand devuelve un número aleatorio.

Syntax

rand()

Return value type

double

Examples

A continuación se muestra una consulta que devuelve un número aleatorio.

  • Instrucción de consulta

    * | select rand()
  • Resultados de la consulta y el análisis: Devuelve un valor aleatorio, por ejemplo, 0.8742241064002435.

Función random

La función random devuelve un número aleatorio en el rango [0,x).

Syntax

  • Devuelve un valor aleatorio de doble precisión en el rango [0, 1.0).

    random()
  • Devuelve un entero aleatorio en el rango [0, x).

    random(x)

Parameters

Parámetro

Descripción

x

Un valor de tipo tinyint, smallint, integer o bigint.

Return value type

Devuelve un valor con el mismo tipo de datos que el parámetro de entrada.

Examples

Genere un número aleatorio en el rango [0, 100).

  • Instrucción de consulta

    * | select random(100)
  • Resultados de la consulta: Devuelve un entero aleatorio, por ejemplo, 44.

Función round

La función round redondea x. Si especifica n, la función redondea el valor a n decimales. Si omite n, redondea x al entero más cercano.

Syntax

  • Redondea x al entero más cercano.

    round(x)
  • Redondea x a n decimales.

    round(x, n)

Parameters

Parámetro

Descripción

x

Un valor de tipo tinyint, smallint, integer o bigint.

n

El número de decimales que se deben conservar.

Return value type

El valor devuelto tiene el mismo tipo de datos que el parámetro x.

Examples

Este ejemplo compara las vistas de página (PV) de hoy con las de ayer y expresa el cambio como un porcentaje.

  • Instrucción de consulta

    * | SELECT diff [1] AS today, round((diff [3] -1.0) * 100, 2) AS growth FROM (SELECT compare(pv, 86400) as diff FROM (SELECT COUNT(*) as pv FROM website_log))
  • La consulta devuelve today como 1564075.0 y growth como -22.11.

Función sign

La función sign devuelve el signo de x como 1, 0 o -1.

Syntax

sign(x)

Parameters

Parámetro

Descripción

x

La expresión numérica que se va a evaluar. Su tipo de datos puede ser integer, smallint, tinyint, real, double, bigint o decimal(p,s).

  • Si x es un número positivo, la función devuelve 1.

  • Si x es 0, la función devuelve 0.

  • Si x es un número negativo, la función devuelve -1.

Return value type

Devuelve el mismo tipo de datos que el parámetro de entrada.

Examples

Calcule el signo del número 10.

  • Instrucción de consulta

    * | SELECT sign(10)
  • Resultado de la consulta: El valor devuelto es 1.

Función sin

Esta función calcula el seno de x.

Syntax

sin(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Devuelve un valor double.

Examples

Este ejemplo calcula el seno de 90 grados.

  • Instrucción de consulta y análisis

    * | select sin(pi()/2)
  • Resultados de la consulta y el análisis: Devuelve 1.0.

Función sqrt

Calcula la raíz cuadrada de x.

Syntax

sqrt(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Devuelve un valor double.

Examples

Calcule la raíz cuadrada de 100.

  • Instrucción de consulta y análisis

    * | select sqrt(100)
  • Resultados de la consulta y el análisis: El resultado es 10.0.

Función tan

La función tan calcula la tangente de x.

Syntax

tan(x)

Parameters

Parámetro

Descripción

x

Valor de doble precisión.

Return value type

Un valor de doble precisión.

Examples

Calcule la tangente de 30 grados.

  • Instrucción de consulta

    * | SELECT tan(pi()/6)
  • Resultados de la consulta: 0.5773502691896257.

Función tanh

La función tanh calcula la tangente hiperbólica de x.

Syntax

tanh(x)

Parameters

Parámetro

Descripción

x

Debe ser un valor double.

Return value type

Devuelve un valor double.

Examples

Este ejemplo calcula la tangente hiperbólica de π/6 radianes (30 grados).

  • Consulta

    * | SELECT tanh(pi()/6)
  • Resultado de la consulta: La consulta devuelve 0.4804727781564516.

Función to_base

Esta función convierte el valor bigint x a su representación en cadena con base y.

Syntax

to_base(x, y)

Parameters

Parámetro

Descripción

x

El valor bigint que se va a convertir.

y

La base para la cadena de salida. El valor debe ser un bigint entre 2 y 36, inclusive.

Return value type

Devuelve un valor varchar.

Examples

Convierta 180 a una cadena binaria.

  • Instrucción de consulta

    * | SELECT  to_base(180, 2)
  • Resultado de la consulta: 10110100

Función truncate

La función truncate elimina la parte fraccionaria de x.

Syntax

truncate(x)

Parameters

Parámetro

Descripción

x

Un valor double.

Return value type

Devuelve un valor double.

Examples

Elimine la parte fraccionaria de 11.11.

  • Instrucción de consulta

    * | SELECT  truncate(11.11)
  • Resultado de la consulta: 11.0.

Función width_bucket

La función width_bucket devuelve el número de bucket correspondiente a un valor x.

Syntax

  • Divide un rango numérico en un número especificado de buckets de igual ancho y devuelve el número de bucket para x.

    width_bucket(x, bound1, bound2, numBuckets)
  • Devuelve el número de bucket para x según un arreglo especificado de límites de bucket.

    width_bucket(x, bins)

Parameters

Parámetro

Descripción

x

El valor que se va a asignar a un bucket. Este valor debe ser de tipo double.

bound1

Especifica el límite inferior del rango numérico.

bound2

Especifica el límite superior del rango numérico.

numBuckets

El número de buckets. El valor debe ser un entero mayor que 0.

bins

Utilice bins, un arreglo de tipo double, para especificar el rango del bucket.

Return value type

Devuelve un valor de tipo bigint.

Nota
  • Si x está dentro del rango especificado, se devuelve el bucket al que pertenece x.

  • Si x es menor que el límite inferior, la función devuelve 0.

  • Si x es mayor o igual que el límite superior, la función devuelve numBuckets+1.

Examples

  • Ejemplo 1: Divida el rango numérico [10, 80) en 7 buckets de igual ancho y obtenga el número de bucket para cada valor en el campo request_time.

    • Instrucción de consulta

      * | SELECT request_time, width_bucket(request_time, 10, 80,7) AS numBuckets
    • Resultados de la consulta y el análisis: La consulta devuelve las columnas request_time y numBuckets. Estas columnas muestran el número de bucket correspondiente a cada tiempo de solicitud. Por ejemplo, si request_time es 26.0, numBuckets es 2; y si request_time es 49.0, numBuckets es 4.

  • Ejemplo 2: Utilice un arreglo para definir los límites de los buckets y obtenga el número de bucket para cada valor en el campo request_time.

    • Instrucción de consulta

      * | SELECT request_time, width_bucket(request_time, array[10,20,30,40,50,60,70,80]) AS numBuckets
    • Resultados de la consulta y el análisis: La consulta devuelve las columnas request_time y numBuckets. Estas columnas muestran el número de bucket asignado a cada tiempo de solicitud según el arreglo de límites personalizado. Por ejemplo, si request_time es 26.0, numBuckets es 2; y si request_time es 54.0, numBuckets es 5.