sql >> Database >  >> RDS >> Mysql

MySQL ROUND() Functie – Rond een getal af op een bepaald aantal decimalen

In MySQL is de ROUND() Met deze functie kunt u een getal naar boven of beneden afronden op een bepaald aantal decimalen.

De manier waarop het werkt, is dat je het getal als argument opgeeft en je hebt de mogelijkheid om te kiezen op hoeveel decimalen je het getal wilt afronden. Als u het aantal decimalen niet opgeeft, heeft het resultaat geen decimalen.

Syntaxis

Deze functie kan op een van de volgende manieren worden gebruikt:

ROUND(X)
ROUND(X,D)

Waar X is het nummer en D is het aantal decimalen waarop u het wilt afronden. Als u D . weglaat , wordt het getal afgerond op nul decimalen.

Ook D negatief kan zijn. Dit resulteert in D cijfers links van de komma van de waarde X nul worden.

Voorbeeld 1 – Eén argument gebruiken

Hier is een eenvoudig voorbeeld om te laten zien wat er gebeurt als we geen tweede argument geven.

SELECT ROUND(1.49) Result;

Resultaat:

+--------+
| Result |
+--------+
|      1 |
+--------+

In dit geval wordt het getal naar beneden afgerond op het dichtstbijzijnde gehele getal.

Als we het fractionele deel vergroten, gebeurt het volgende:

SELECT ROUND(1.50) Result;

Resultaat:

+--------+
| Result |
+--------+
|      2 |
+--------+

In dit geval wordt het getal naar boven afgerond.

Voorbeeld 2 – Twee argumenten gebruiken

Hier leest u hoe we een tweede argument kunnen gebruiken om de decimalen te specificeren waarop het getal moet worden afgerond.

SELECT ROUND(1.234, 2) Result;

Resultaat:

+--------+
| Result |
+--------+
|   1.23 |
+--------+

En dit gebeurt er als ik het laatste cijfer verhoog naar 5:

SELECT ROUND(1.235, 2) Result;

Resultaat:

+--------+
| Result |
+--------+
|   1.24 |
+--------+

Natuurlijk kunnen we veel meer decimalen gebruiken. We zouden bijvoorbeeld veel decimalen kunnen inkorten.

SELECT ROUND(1.23456789123456789, 8) Result;

Resultaat:

+------------+
| Result     |
+------------+
| 1.23456789 |
+------------+

Of we kunnen het aantal decimalen verhogen.

SELECT ROUND(1.234, 8) Result;

Resultaat:

+------------+
| Result     |
+------------+
| 1.23400000 |
+------------+

Voorbeeld 3 – Een negatieve waarde gebruiken voor het tweede argument

Hier leest u hoe we een negatieve waarde voor het tweede argument kunnen gebruiken om ervoor te zorgen dat delen van het niet-fractionele deel naar nul worden afgerond.

SELECT ROUND(123.456, -1) Result;

Resultaat:

+--------+
| Result |
+--------+
|    120 |
+--------+

En zo wordt het afgerond als we de 3 . verhogen tot 5 of meer.

SELECT ROUND(125.456, -1) Result;

Resultaat:

+--------+
| Result |
+--------+
|    130 |
+--------+

Voorbeeld 4 – Negatieve getallen afronden versus positieve getallen

Zoals te zien is in de vorige voorbeelden, wordt bij het gebruik van positieve getallen een waarde met een breuk van 0,5 of hoger naar boven afgerond op het volgende gehele getal.

Als u echter negatieve getallen gebruikt, worden dergelijke waarden naar beneden afgerond .

SELECT 
  ROUND(1.50) Positive,
  ROUND(-1.50) Negative;

Resultaat:

+----------+----------+
| Positive | Negative |
+----------+----------+
|        2 |       -2 |
+----------+----------+

Getallen met geschatte waarde afronden

De bovenstaande afrondingsregel is alleen van toepassing op getallen met een exacte waarde. Voor getallen met een geschatte waarde is het resultaat afhankelijk van de C-bibliotheek. In de MySQL-documentatie staat dit over getallen met een geschatte waarde:

Op veel systemen betekent dit dat ROUND() gebruikt de regel "afronden naar dichtstbijzijnde even":een waarde met een breukdeel precies halverwege tussen twee gehele getallen wordt afgerond op het dichtstbijzijnde even gehele getal.

En hier is het voorbeeld dat op die pagina wordt gebruikt:

SELECT 
  ROUND(2.5), 
  ROUND(25E-1);

Resultaat:

+------------+--------------+
| ROUND(2.5) | ROUND(25E-1) |
+------------+--------------+
|          3 |            2 |
+------------+--------------+

  1. String -> java.util.Date -> java.sql.Date (met tijdstempel)

  2. Wereldback-updag:4 interessante feiten over gegevensverlies om te weten

  3. De status van database-indexen analyseren

  4. Retourneer het oorspronkelijke zaad van een identiteitskolom in SQL Server