sql >> Databáze >  >> RDS >> Database

Jak zaokrouhlovat čísla v SQL

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

  1. Tipy pro migraci z proprietárních na open source databáze

  2. Kdy použít STRAIGHT_JOIN s MySQL

  3. Základy správy schémat PostgreSQL

  4. ISDATE() Příklady v SQL Server