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".


Ingresemos el siguiente lote de comandos SQL en pgAdmin:

 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:

PostgreSQL pgAdmin funciones matemáticas


Retornar