SQL offre diverse funzioni per gestire i numeri decimali. In questo articolo, esamineremo in dettaglio i metodi di arrotondamento, troncamento e arrotondamento verso l’alto, con una spiegazione delle rispettive funzioni e esempi concreti di utilizzo.
Come arrotondare con la funzione ROUND
La funzione ROUND in SQL arrotonda un numero al numero di cifre decimali specificato. La sintassi di base di questa funzione è la seguente.
Sintassi di base
ROUND(numero, cifre_decimali)
numero
: Il numero da arrotondare.cifre_decimali
: Il numero di cifre decimali desiderato dopo l’arrotondamento.
Esempio di utilizzo
Nell’esempio seguente, il numero 3,4567 viene arrotondato a due cifre decimali.
SELECT ROUND(3.4567, 2); -- Risultato: 3.46
È anche possibile arrotondare la parte intera specificando un valore negativo.
SELECT ROUND(345.67, -1); -- Risultato: 350
In questo modo, la funzione ROUND consente di arrotondare facilmente i numeri.
Come troncare con la funzione TRUNCATE
La funzione TRUNCATE in SQL viene utilizzata per troncare un numero al numero di cifre decimali specificato. La sintassi di base di questa funzione è la seguente.
Sintassi di base
TRUNCATE(numero, cifre_decimali)
numero
: Il numero da troncare.cifre_decimali
: Il numero di cifre decimali desiderato dopo il troncamento.
Esempio di utilizzo
Nell’esempio seguente, il numero 3,4567 viene troncato a due cifre decimali.
SELECT TRUNCATE(3.4567, 2); -- Risultato: 3.45
È anche possibile troncare la parte intera specificando un valore negativo.
SELECT TRUNCATE(345.67, -1); -- Risultato: 340
Utilizzando la funzione TRUNCATE, è possibile gestire i numeri con la precisione desiderata, eliminando le cifre decimali non necessarie.
Come troncare con la funzione FLOOR
La funzione FLOOR in SQL tronca un numero all’intero più grande che non supera il valore specificato. La sintassi di base di questa funzione è la seguente.
Sintassi di base
FLOOR(numero)
numero
: Il numero da troncare.
Esempio di utilizzo
Nell’esempio seguente, il numero 3,4567 viene troncato alla parte intera.
SELECT FLOOR(3.4567); -- Risultato: 3
Può essere applicata anche a numeri negativi.
SELECT FLOOR(-3.4567); -- Risultato: -4
Utilizzando la funzione FLOOR, è possibile troncare completamente le cifre decimali e ottenere solo la parte intera. Questo è molto utile quando è necessario troncare i numeri.
Come arrotondare verso l’alto con la funzione CEIL
La funzione CEIL (o CEILING) in SQL arrotonda un numero al più piccolo intero maggiore o uguale al numero specificato. La sintassi di base di questa funzione è la seguente.
Sintassi di base
CEIL(numero)
numero
: Il numero da arrotondare verso l’alto.
Esempio di utilizzo
Nell’esempio seguente, il numero 3,4567 viene arrotondato verso l’alto alla parte intera.
SELECT CEIL(3.4567); -- Risultato: 4
Può essere applicata anche a numeri negativi.
SELECT CEIL(-3.4567); -- Risultato: -3
Utilizzando la funzione CEIL, è possibile arrotondare completamente le cifre decimali verso l’alto, ottenendo il prossimo intero. Questo è molto utile quando è necessario arrotondare verso l’alto.
Esempi avanzati: come utilizzare nelle transazioni
Il trattamento delle cifre decimali è molto importante nelle transazioni commerciali. Di seguito vengono illustrati alcuni esempi concreti di come applicare le funzioni ROUND, TRUNCATE, FLOOR e CEIL ai dati delle transazioni.
Arrotondamento degli importi delle transazioni
Per arrotondare gli importi delle transazioni, si utilizza la funzione ROUND.
SELECT
transaction_id,
ROUND(amount, 2) AS amount_rounded
FROM
transactions;
Questa query mostra gli importi delle transazioni arrotondati a due cifre decimali.
Troncamento degli importi delle imposte
Per calcolare l’importo delle imposte e troncarlo, si utilizza la funzione TRUNCATE.
SELECT
transaction_id,
TRUNCATE(tax_amount, 0) AS tax_truncated
FROM
transactions;
Questa query mostra l’importo delle imposte troncato alla parte intera.
Troncamento degli importi scontati
Per troncare l’importo dopo lo sconto alla parte intera, si utilizza la funzione FLOOR.
SELECT
transaction_id,
FLOOR(amount * discount_rate) AS discounted_amount_truncated
FROM
transactions;
Questa query mostra l’importo scontato troncato alla parte intera.
Arrotondamento verso l’alto delle spese di spedizione
Per arrotondare verso l’alto le spese di spedizione alla parte intera, si utilizza la funzione CEIL.
SELECT
transaction_id,
CEIL(shipping_fee) AS shipping_fee_rounded_up
FROM
transactions;
Questa query mostra le spese di spedizione arrotondate verso l’alto alla parte intera.
Utilizzando queste funzioni, è possibile gestire efficacemente i numeri nei dati delle transazioni.
Conclusione
SQL offre funzioni come ROUND, TRUNCATE, FLOOR e CEIL per arrotondare, troncare o arrotondare verso l’alto i numeri decimali. Applicando ciascuna funzione in base alla situazione specifica, è possibile gestire efficacemente la precisione dei dati numerici. Utilizzando queste funzioni nelle attività pratiche, è possibile gestire e trattare con precisione i dati delle transazioni e i risultati dei calcoli, garantendo una gestione affidabile dei dati.