MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa funkcja ROUND() w MariaDB

W MariaDB, ROUND() jest wbudowaną funkcją numeryczną, która zaokrągla swój argument do określonej liczby miejsc po przecinku.

Składnia

Funkcji można używać na dwa sposoby:

ROUND(X)
ROUND(X,D)

Gdzie X jest wartością do zaokrąglenia, a D jest opcjonalnym argumentem, który określa liczbę miejsc dziesiętnych, do których należy go zaokrąglić.

Przykład

Oto przykład:

SELECT ROUND(7.5);

Wynik:

+------------+
| ROUND(7.5) |
+------------+
|          8 |
+------------+

Przekazanie wartości ujemnej daje następujący wynik:

SELECT ROUND(-7.5);

Wynik:

+-------------+
| ROUND(-7.5) |
+-------------+
|          -8 |
+-------------+

Określ miejsca dziesiętne

Domyślnie ROUND() funkcja zaokrągla wartość do zera miejsc po przecinku. Możemy określić liczbę miejsc dziesiętnych do zaokrąglenia wartości, przekazując drugi argument.

Przykład:

SELECT ROUND(7.5164, 2);

Wynik:

+------------------+
| ROUND(7.5164, 2) |
+------------------+
|             7.52 |
+------------------+

Ujemne miejsca dziesiętne

Drugi argument może być wartością ujemną, jeśli jest to wymagane. Przekazanie wartości ujemnej powoduje, że cyfry są w lewo miejsca dziesiętnego na zero.

Przykład:

SELECT ROUND(3724.51, -2);

Wynik:

+--------------------+
| ROUND(3724.51, -2) |
+--------------------+
|               3700 |
+--------------------+

W porównaniu z FLOOR()

ROUND() funkcja różni się od funkcji FLOOR() funkcjonować. ROUND() funkcja zaokrągla liczbę w górę w niektórych przypadkach, aw innych w dół. FLOOR() z drugiej strony funkcja zawsze zwraca największą liczbę całkowitą nie większą niż jej argument.

Oto porównanie pokazujące tę różnicę:

SELECT 
    FLOOR(3.6789),
    ROUND(3.6789);

Wynik:

+---------------+---------------+
| FLOOR(3.6789) | ROUND(3.6789) |
+---------------+---------------+
|             3 |             4 |
+---------------+---------------+

Również FLOOR() nie akceptuje drugiego argumentu, takiego jak ROUND() tak.

ROUND() różni się także od TRUNCATE() funkcja, która po prostu obcina liczbę do określonego miejsca po przecinku, bez żadnego zaokrąglania.

Argumenty nieliczbowe

Oto, co się dzieje, gdy dostarczamy argument nieliczbowy:

SELECT ROUND('Ten');

Wynik:

+--------------+
| ROUND('Ten') |
+--------------+
|            0 |
+--------------+
1 row in set, 1 warning (0.028 sec)

Sprawdźmy ostrzeżenie:

SHOW WARNINGS;

Wynik:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' |
+---------+------+-----------------------------------------+

Brakujące argumenty

Wywołanie ROUND() bez argumentu powoduje błąd:

SELECT ROUND();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ROUND'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak LOAD_FILE() działa w MariaDB

  2. Ogłaszamy obsługę MariaDB 10.2 — ClusterControl 1.5

  3. Jak ADDDATE() działa w MariaDB

  4. Jak EXP() działa w MariaDB

  5. Optymalizacje zapisu dla Qualcomm Centriq 2400 w wersji kandydata wersji MariaDB 10.3.5