🧚 Ascolta! Beekeeper Studio è una GUI per PostgreSQL veloce, moderna e open source Scarica
7 agosto 2024 Di Matthew Rathbone

PostgreSQL supporta gli operatori aritmetici di base, tra cui la sottrazione (-), per diversi tipi di dati numerici.

Prima di continuare a leggere, volevo parlarti del nostro gestore di database PostgreSQL moderno e veloce, Beekeeper Studio. Il suo editor SQL con autocompletamento ti permette di provare questi calcoli in un attimo, ed è gratuito per PostgreSQL: scaricalo qui.

Il primo esempio è semplice: sottrarre due numeri interi. Funziona con tutti i database basati su SQL, non solo con PostgreSQL.

SELECT 15 - 5 AS result;

Output previsto:

result
10

Sottrarre colonne

Ora vediamo come sottrarre una colonna da un'altra. Prendi una tabella delle vendite sales con la seguente struttura:

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

Vuoi trovare il costo finale dopo l'applicazione dello sconto. Puoi ottenerlo sottraendo lo sconto dal prezzo.

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

Output previsto:

id item final_price
1 A 80
2 B 150

Sottrarre date

In PostgreSQL, la sottrazione tra date restituisce la differenza tra due date in giorni.

Prendi una tabella rentals come questa:

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

Calcola la durata dei noleggi:

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

Output previsto:

id item rental_duration
1 Bike 9
2 Car 10

Sottrazione con i timestamp

In PostgreSQL, sottrarre due timestamp restituisce l'intervallo tra di essi.

Immagina di avere una tabella 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

Calcola la durata di ogni sessione:

SELECT id, logout_time - login_time as session_duration FROM logins;

Output previsto:

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

Casi d'uso pratici

Gestione dell'inventario

Ecco un esempio di calcolo delle scorte disponibili per ogni prodotto, sottraendo il numero di articoli venduti dalle scorte totali.

Supponiamo di avere una tabella dell'inventario strutturata così:

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

Dati di esempio:

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

Query: calcolo delle scorte disponibili

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

Output previsto:

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

In questa query sottraiamo la quantità sold da total_stock per ottenere available_stock per ogni prodotto.

Calcolare l'età

La funzione age di PostgreSQL serve a calcolare la differenza tra due date e restituisce il risultato come un tipo interval complesso che include anni, mesi e giorni.

Ecco un caso d'uso pratico in cui potresti voler calcolare l'età dei clienti in una tabella.

Supponi di avere una tabella customers con una colonna birthdate.

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

Output previsto:

 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

Conclusione

La sottrazione in PostgreSQL è uno strumento versatile che si applica a numeri, date e intervalli. In questo articolo abbiamo esplorato le operazioni di sottrazione in PostgreSQL, sia con i numeri che con le date. Ricordati di controllare sempre i tipi di dati e di verificarne la compatibilità quando esegui calcoli. Resta sintonizzato per i prossimi articoli della serie, in cui approfondiremo concetti SQL avanzati. Buon coding!

Altri articoli che potrebbero piacerti:

Beekeeper Studio è una GUI per PostgreSQL gratuita e open source

Questo è il client PostgreSQL che stavo cercando! È l'interfaccia a fare la differenza: pulita, intuitiva, potente. Addio al macchinoso PGAdmin. - David Cyprian

Beekeeper Studio è un client PostgreSQL veloce, intuitivo e facile da usare. Supporta anche tantissimi altri database e funziona alla grande su Windows, Mac e Linux.

La versione Linux di Beekeeper è completa al 100%, senza tagli e senza compromessi sulle funzionalità.

Cosa dicono gli utenti PostgreSQL di Beekeeper Studio

Jay Simons Jay Simons Titolare, Designly.biz

A differenza di pgAdmin, Beekeeper è sorprendentemente semplice da usare, senza rinunciare alle funzionalità, e il prezzo è giusto! La funzione di backup del database è particolarmente utile. Un software davvero ottimo.

Alex M

Strumento favoloso, l'IDE più pratico che abbia trovato finora per amministrare database Postgres e MySql: funziona e basta, senza complicazioni :-)

Pronto a migliorare il tuo workflow PostgreSQL?

download Scarica gratis