Listado completo de tutoriales
22 - Funciones matemáticas |
Las funciones matemáticas realizan operaciones con expresiones numéricas y retornan un resultado, operan con tipos de datos numéricos.
PostgreSQL tiene algunas funciones para trabajar con números. Aquí presentamos algunas.
abs(x): retorna el valor absoluto del argumento "x". Ejemplo:
select abs(-20);
retorna 20.
cbrt(x): retorna la raíz cúbica del argumento "x". Ejemplo:
select cbrt(27);
retorna 3.
ceiling(x): redondea hacia arriba el argumento "x". Ejemplo:
select ceiling(12.34);
retorna 13.
floor(x): redondea hacia abajo el argumento "x". Ejemplo:
select floor(12.34);
retorna 12.
power(x,y): retorna el valor de "x" elevado a la "y" potencia. Ejemplo:
select power(2,3);
retorna 8.
round(numero): retorna un número redondeado al valor más próximo. Ejemplo:
select round(10.4);
retorna "10".
sign(x): si el argumento es un valor positivo devuelve 1;-1 si es negativo y si es 0, 0. Ejemplo:
select sign(-23.4);
retorna "-1".
sqrt(x): devuelve la raíz cuadrada del valor enviado como argumento. Ejemplo:
select sqrt(9);
retorna "3".
mod(x,y): devuelve el resto de dividir x con respecto a y. Ejemplo:
select mod(11,2);
retorna "1".
pi(): devuelve el valor de pi. Ejemplo:
select pi();
retorna "3.14159265358979".
random(): devuelve un valor aleatorio entre 0 y 1 (sin incluirlos). Ejemplo:
select random();
retorna por ejemplo "0.895562474101578".
trunc(x): Retorna la parte entera del parámetro. Ejemplo:
select trunc(34.7);
retorna "34".
trunc(x,decimales): Retorna la parte entera del parámetro y la parte decimal truncando hasta el valor indicado en el segundo parámetro. Ejemplo:
select trunc(34.7777,2);
retorna "34.77".
sin(x): Retorna el valor del seno en radianes. Ejemplo:
select sin(0);
retorna "0".
cos(x): Retorna el valor del coseno en radianes. Ejemplo:
select cos(0);
retorna "1".
tan(x): Retorna el valor de la tangente en radianes. Ejemplo:
select tan(0);
retorna "0".
drop table if exists libros; create table libros( codigo serial, titulo varchar(40) not null, autor varchar(20) default 'Desconocido', editorial varchar(20), precio decimal(9,2), primary key (codigo) ); insert into libros (titulo,autor,editorial,precio) values('El aleph','Borges','Emece',25.33); insert into libros (titulo,autor,editorial,precio) values('Java en 10 minutos','Mario Molina','Siglo XXI',50.65); insert into libros (titulo,autor,editorial,precio) values('Alicia en el pais de las maravillas','Lewis Carroll','Emece',19.95); -- Vamos a mostrar los precios de los libros redondeando -- el valor hacia abajo y hacia arriba: select titulo,autor,precio, floor(precio) as abajo, ceiling(precio) as arriba from libros;
La ejecución de este lote de comandos SQL genera una salida similar a: