Funciones matemáticas

Se proporcionan funciones matemáticas.

Funciones trigonométricas

La siguiente tabla describe las funciones trigonométricas proporcionadas.
Tabla 1. Funciones trigonométricas
Función Tipo de datos de entrada Tipo de datos de salida Descripción
acos(x) precisión doble precisión doble Coseno inverso.
asin(x) precisión doble precisión doble Seno inverso.
atan(x) precisión doble precisión doble Tangente inversa.
atan2(x,y) precisión doble precisión doble Tangente inversa de x/y.
cos(x) precisión doble precisión doble Coseno.
cot(x) precisión doble precisión doble Cotangente.
degrees(x) precisión doble precisión doble Convertir radianes a grados.
pi() (ninguno) precisión doble Pi (relación entre la circunferencia y el diámetro).
radians(x) precisión doble precisión doble Convertir grados en radianes.
sin(x) precisión doble precisión doble Seno.
tan(x) precisión doble precisión doble Tangente.

Funciones de número aleatorio

La siguiente tabla describe las funciones de números aleatorios que se ofrecen.
Tabla 2. Funciones matemáticas de número aleatorio
Función Tipo de datos de entrada Tipo de datos de salida Descripción Ejemplo Resultado
random() (ninguno) precisión doble Valor aleatorio mayor que 0 y menor que 1. random() 0.27116098407244
setseed(x)   (ninguno) Establezca la semilla para la función random(). setseed(0.548) (código de retorno)

Funciones numéricas

La siguiente tabla describe las funciones numéricas proporcionadas.
Tabla 3. Funciones numéricas
Función Tipo de datos de entrada Tipo de datos de salida Descripción Ejemplo Resultado
n! byteint, smallint, entero, bigint int8 Factorial del entero n:
n×(n-1)×...×1
5! 120
abs(x) byteint, smallint, entero, bigint, precisión doble, real, numérico igual a x Valor absoluto. abs (-17.4) 17.4
ceil(x) numérico numérico Número entreo más pequeño que no sea inferior a x ceil (-42.8) -42
dceil(x) precisión doble precisión doble Número entreo más pequeño que no sea inferior a x dceil (42.8) 43
dfloor(x) precisión doble precisión doble Entero más grande que no sea mayor que el argumento. floor(42.8) 42
exp(x) precisión doble, numérico igual a x Exponencial. exp(1.0) 2.71828182845905
floor(x) numérico numérico entero más grande no mayor que el argumento floor(-42.8) -43
fpow(a,b) real real a elevado a la potencia de b pow(9.0, 3.0) 729
ln(x) precisión doble doble logaritmo natural ln(2.0) 0.693147180559945
log(x) numérico numérico logaritmo base 10 log(100.0) 2
mod(x,y) precisión doble, real, numérico, byteint, smallint, entero, bigint Si el tipo de x o y es precisión doble o real, el tipo de salida es precisión doble; de lo contrario, si x o y es numérico, el resultado es numérico; de lo contrario, x e y son enteros y el tipo de datos de salida es el más amplio de los dos tipos de datos de entrada. Calcula el resto de x/y mod(9,4) 1
numeric_sqrt(x) numérico numérico raíz cuadrada numeric_sqrt(2) 1.4142
pow(a,b) precisión doble dp a elevado a la potencia de b pow(9.0, 3.0) 729
round(x) precisión doble, numérico igual que la entrada redondear al entero más cercano round(42.4) 42
round(v,n) v es numérico, n es byteint, smallint, entero, bigint numérico redondear a s posiciones decimales round(2.4382,2) 2.44
sign(x) numérico numérico signo del argumento (-1,0,+1) sign(-8.4) -1
sqrt(x) precisión doble doble raíz cuadrada sqrt(2.0) 1.4142135623731
trunc(x) precisión doble, numérico igual que la entrada truncar hacia cero trunc(42.8) 42
trunc(v,n) v es numérico, n es byteint, smallint, entero, bigint numérico truncar a s posiciones decimales trunc(2.4382,2) 2.43
Nota: El resultado de la función ' pow ' debe caber en un FLOAT8 (ser un valor de coma flotante de doble precisión). Un FLOAT8 puede contener valores positivos o negativos con una magnitud tan grande como 1.798 x 10308 y tan pequeña como 4.941 x 10-324 (aproximadamente).

Funciones matemáticas binarias

La siguiente tabla describe las funciones matemáticas binarias proporcionadas.
Tabla 4. Funciones matemáticas binarias
Función Descripción Ejemplo Resultado
intNand(x,y) Bit a bit AND de x e y. int2and(3,6) 2 (smallint)
intNor(x,y) Bit a bit OR de x e y. int1or(3,6) 7 (byteint)
intNxor(x,y) Exclusivo bit a bit OR de x e y. int8xor(3,6) 5 (bigint)
intNnot(x) Bit a bit NOT de x. int4xor(3) -4 (entero)
intNshl(x,y [,z]) Bit a bit AND de x y z (si se ha especificado), luego desplazamiento a la izquierda de y bits (desplazamiento a la izquierda, con máscara opcional). int2shl(3,1,6) 4 (smallint)
intNshr(x,y [,z]) Bit a bit AND de x y z (si se ha especificado), luego desplazamiento a la derecha de y bits (desplazamiento a la derecha, con máscara opcional). int2shr(3,1,6) 1 (smallint)
En cada función, el marcador de posición N representa el tamaño del tipo de datos entero con el que opera la función y que esta devuelve:
1
byteint (alias int1)
2
smallint (alias int2)
4
entero (alias int o int4)
8
bigint (alias int8)