MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana ROUND() Bekerja di MariaDB

Di MariaDB, ROUND() adalah fungsi numerik bawaan yang membulatkan argumennya ke sejumlah tempat desimal tertentu.

Sintaks

Fungsi tersebut dapat digunakan dengan dua cara berikut:

ROUND(X)
ROUND(X,D)

Dimana X adalah nilai yang akan dibulatkan, dan D adalah argumen opsional yang menentukan jumlah tempat desimal untuk membulatkannya.

Contoh

Ini contohnya:

SELECT ROUND(7.5);

Hasil:

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

Melewati nilai negatif menghasilkan hasil berikut:

SELECT ROUND(-7.5);

Hasil:

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

Tentukan Tempat Desimal

Secara default, ROUND() fungsi membulatkan nilai ke nol tempat desimal. Kita dapat menentukan jumlah tempat desimal untuk membulatkan nilainya dengan meneruskan argumen kedua.

Contoh:

SELECT ROUND(7.5164, 2);

Hasil:

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

Tempat Desimal Negatif

Argumen kedua bisa menjadi nilai negatif jika diperlukan. Melewati nilai negatif menyebabkan digit ke kiri dari tempat desimal menjadi nol.

Contoh:

SELECT ROUND(3724.51, -2);

Hasil:

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

Dibandingkan dengan FLOOR()

ROUND() fungsinya berbeda dengan FLOOR() fungsi. ROUND() fungsi membulatkan angka ke atas dalam beberapa kasus dan ke bawah pada kasus lainnya. FLOOR() fungsi, di sisi lain, selalu mengembalikan nilai integer terbesar tidak lebih besar dari argumennya.

Berikut perbandingan untuk menunjukkan perbedaan ini:

SELECT 
    FLOOR(3.6789),
    ROUND(3.6789);

Hasil:

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

Juga, FLOOR() tidak menerima argumen kedua seperti ROUND() tidak.

ROUND() juga berbeda dengan TRUNCATE() fungsi, yang hanya memotong angka ke tempat desimal tertentu, tanpa pembulatan apa pun.

Argumen Non-Numerik

Inilah yang terjadi ketika kami memberikan argumen non-numerik:

SELECT ROUND('Ten');

Hasil:

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

Mari kita periksa peringatannya:

SHOW WARNINGS;

Hasil:

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

Argumen Tidak Ada

Memanggil ROUND() tanpa argumen menghasilkan kesalahan:

SELECT ROUND();

Hasil:

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. Memindahkan Database MariaDB ke Status Terenkripsi dan Tidak Terenkripsi

  2. Cara Migrasi dari Oracle DB ke MariaDB

  3. Bagaimana ASCII() Bekerja di MariaDB

  4. Bagaimana UPPER() Bekerja di MariaDB

  5. Cara Meningkatkan Performa Replikasi di MySQL atau MariaDB Galera Cluster