🧚 ¡Oye! Beekeeper Studio es una GUI de PostgreSQL rápida, moderna y de código abierto Descarga
7 de agosto de 2024 Por Matthew Rathbone

PostgreSQL admite los operadores aritméticos básicos, incluida la resta (-), para varios tipos de datos numéricos.

Antes de seguir leyendo, quiero contarte sobre nuestro gestor de bases de datos PostgreSQL moderno y rápido, Beekeeper Studio. Su editor SQL con autocompletado hace que probar estos cálculos sea muy rápido, y es gratis para PostgreSQL. Descárgalo aquí.

Nuestro primer ejemplo es sencillo: restar dos enteros. Esto funciona en todas las bases de datos basadas en SQL, no solo en PostgreSQL.

SELECT 15 - 5 AS result;

Resultado esperado:

result
10

Restar columnas

Ahora veamos cómo restar una columna de otra. Considera una tabla de ventas sales con la siguiente estructura:

id item price discount
1 A 100 20
2 B 200 50

Quieres obtener el costo final después de aplicar el descuento. Puedes lograrlo restando el descuento del precio.

SELECT id, item, price - discount AS Final_Price FROM sales;

Resultado esperado:

id item final_price
1 A 80
2 B 150

Restar fechas

Restar fechas en PostgreSQL devuelve la diferencia entre dos fechas en días.

Considera la siguiente tabla rentals:

id item rent_start_date rent_end_date
1 Bike 2022-03-01 2022-03-10
2 Car 2022-02-20 2022-03-02

Calcula la duración de las rentas:

SELECT id, item, rent_end_date - rent_start_date as rental_duration FROM rentals;

Resultado esperado:

id item rental_duration
1 Bike 9
2 Car 10

Resta con timestamps

En PostgreSQL, restar timestamps da como resultado el intervalo entre ambos.

Imagina que tenemos una tabla logins:

id login_time logout_time
1 2022-03-15 08:00:00 2022-03-15 10:30:00
2 2022-03-15 07:30:00 2022-03-15 10:00:00

Calcula la duración de cada sesión:

SELECT id, logout_time - login_time as session_duration FROM logins;

Resultado esperado:

id session_duration
1 02:30:00
2 02:30:00

Casos de uso prácticos

Gestión de inventario

Este es un ejemplo de cómo calcular el stock disponible de cada producto restando la cantidad de artículos vendidos del stock total.

Supongamos que tenemos una tabla de inventario con esta estructura:

CREATE TABLE inventory (
    product_id SERIAL PRIMARY KEY,
    product_name VARCHAR(255),
    total_stock INT,
    sold INT
);

Datos de ejemplo:

INSERT INTO inventory (product_name, total_stock, sold) VALUES
('Product A', 100, 50),
('Product B', 200, 180),
('Product C', 150, 140);

Consulta: cálculo del stock disponible

SELECT product_id, product_name, total_stock - sold AS available_stock
FROM inventory;

Resultado esperado:

 product_id | product_name | available_stock 
------------+--------------+-----------------
          1 | Product A    |              50
          2 | Product B    |              20
          3 | Product C    |              10

En esta consulta, restamos la cantidad sold de total_stock para obtener el available_stock de cada producto.

Calcular la edad

La función age de PostgreSQL sirve para calcular la diferencia entre dos fechas y devuelve el resultado como un tipo interval complejo que incluye años, meses y días.

Aquí tienes un caso práctico en el que podrías querer calcular la edad de los clientes de una tabla.

Supongamos que tienes una tabla customers con una columna birthdate.

SELECT customer_id, birthdate, age(current_date, birthdate) AS age
FROM customers;

Resultado esperado:

 customer_id | birthdate  |         age          
-------------+------------+----------------------
           1 | 1990-04-25 | 34 years 3 mons 12 days
           2 | 1985-10-12 | 38 years 9 mons 24 days
           3 | 2000-01-01 | 24 years 7 mons  5 days

Conclusión

La resta en PostgreSQL es una herramienta versátil que puedes aplicar a números, fechas e intervalos. En este artículo exploramos las operaciones de resta en PostgreSQL, tanto con números como con fechas. Recuerda siempre revisar los tipos de datos y asegurarte de que sean compatibles al hacer cálculos. No te pierdas los próximos artículos de la serie, donde profundizaremos en conceptos avanzados de SQL. ¡Feliz programación!

Otros artículos que te pueden gustar:

Beekeeper Studio es una GUI de PostgreSQL gratuita y de código abierto

¡Este es el cliente de PostgreSQL que estaba buscando! La interfaz es lo que lo distingue: limpia, intuitiva y potente. Adiós al torpe PGAdmin. - David Cyprian

Beekeeper Studio es un cliente de PostgreSQL rápido, intuitivo y fácil de usar. También es compatible con muchas otras bases de datos y funciona de maravilla en Windows, Mac y Linux.

La versión de Beekeeper para Linux tiene el 100% de las funciones, sin recortes ni concesiones.

Lo que dicen los usuarios de PostgreSQL sobre Beekeeper Studio

Jay Simons Jay Simons Dueño, Designly.biz

A diferencia de pgAdmin, Beekeeper es increíblemente fácil de usar sin quedarse corto en funciones, ¡y a buen precio! La función de respaldo de bases de datos es especialmente útil. Simplemente un gran software.

Alex M

Herramienta fabulosa, el IDE más práctico que he encontrado hasta ahora para administrar bases de datos Postgres y MySql: simplemente funciona, sin complicaciones :-)

¿Listo para mejorar tu flujo de trabajo con PostgreSQL?

download Descarga gratis