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 |