Come arrotondare o troncate i numeri decimali in SQL

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.

Indice

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.

Indice