Problém:
Chcete zaokrouhlit číslo na určitý počet desetinných míst.
Příklad:
Naše databáze obsahuje tabulku s názvem product s údaji v následujících sloupcích:id , name a price_net .
| id | jméno | price_net |
|---|---|---|
| 1 | chléb | 2,34 |
| 2 | croissant | 1,22 |
| 3 | roll | 0,68 |
Předpokládejme, že na každý produkt se vztahuje daň ve výši 24 % a chcete vypočítat hrubou cenu každé položky (tj. po zdanění) a zaokrouhlit hodnotu na dvě desetinná místa.
Řešení:
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
Tento dotaz vrátí hrubou cenu zaokrouhlenou na dvě desetinná místa:
| id | hrubá_cena |
|---|---|
| 1 | 2,90 |
| 2 | 1,51 |
| 3 | 0,84 |
Diskuse:
Pokud chcete zaokrouhlit číslo s plovoucí desetinnou čárkou na určitý počet desetinných míst v SQL, použijte funkci ROUND. Prvním argumentem této funkce je sloupec, jehož hodnoty chcete zaokrouhlit; druhý argument je volitelný a udává počet míst, na která chcete zaokrouhlit. Ve výchozím nastavení, pokud nezadáte druhý argument, funkce zaokrouhlí na nejbližší celé číslo.
V tomto příkladu neuvedeme počet míst, na která chceme sloupec zaokrouhlit:
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
A zde je odpovídající výsledek:
| id | hrubá_cena |
|---|---|
| 1 | 3 |
| 2 | 2 |
| 3 | 1 |