sql >> Database >  >> RDS >> Database

Hoe getallen in SQL af te ronden

Probleem:

U wilt een getal afronden op een bepaald aantal decimalen.

Voorbeeld:

Onze database heeft een tabel met de naam product met gegevens in de volgende kolommen:id , name , en price_net .

id naam price_net
1 brood 2.34
2 croissant 1,22
3 rollen 0,68

Stel dat er een belasting van 24% is op elk product, en u wilt de brutoprijs van elk artikel berekenen (d.w.z. na belastingen) en de waarde afronden op twee decimalen.

Oplossing:

SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross
FROM product;

Deze zoekopdracht retourneert de brutoprijs afgerond op twee decimalen:

id price_bruto
1 2,90
2 1,51
3 0,84

Discussie:

Als u een getal met drijvende komma in SQL op een bepaald aantal decimalen wilt afronden, gebruikt u de functie ROUND. Het eerste argument van deze functie is de kolom waarvan u de waarden wilt afronden; het tweede argument is optioneel en geeft het aantal plaatsen aan waarop u wilt afronden. Als u het tweede argument niet opgeeft, rondt de functie standaard af op het dichtstbijzijnde gehele getal.

In dit voorbeeld specificeren we niet het aantal plaatsen waarop we de kolom willen afronden:

SELECT id, ROUND(price_net*1.24) as price_gross
FROM product;

En hier is het bijbehorende resultaat:

id price_bruto
1 3
2 2
3 1

  1. Een nieuwe manier om uw PostgreSQL-bewaking te personaliseren met Prometheus

  2. oracle SQL hoe de tijd van de datum te verwijderen

  3. SUM() Functie in SQL Server

  4. Java - datum opgeslagen als de dag ervoor