Problema:
Vuoi arrotondare un numero a un numero specifico di cifre decimali.
Esempio:
Il nostro database ha una tabella denominata product
con i dati nelle seguenti colonne:id
, name
e price_net
.
id | price_net | |
---|---|---|
1 | pane | 2.34 |
2 | cornetto | 1.22 |
3 | rotolare | 0,68 |
Supponiamo che ci sia una tassa del 24% su ogni prodotto e desideri calcolare il prezzo lordo di ogni articolo (cioè, al netto delle tasse) e arrotondare il valore a due cifre decimali.
Soluzione:
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
Questa query restituisce il prezzo lordo arrotondato a due cifre decimali:
id | prezzo_lordo |
---|---|
1 | 2,90 |
2 | 1.51 |
3 | 0,84 |
Discussione:
Se desideri arrotondare un numero a virgola mobile a un numero specifico di cifre decimali in SQL, utilizza la funzione ARROTONDA. Il primo argomento di questa funzione è la colonna di cui si desidera arrotondare i valori; il secondo argomento è facoltativo e denota il numero di posizioni a cui si desidera arrotondare. Per impostazione predefinita, se non specifichi il secondo argomento, la funzione arrotonda all'intero più vicino.
In questo esempio, non specificheremo il numero di posizioni a cui vogliamo arrotondare la colonna:
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
Ed ecco il risultato corrispondente:
id | prezzo_lordo |
---|---|
1 | 3 |
2 | 2 |
3 | 1 |