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 |