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

LANTAI MariaDB() vs TRUNCATE()

MariaDB memiliki FLOOR() fungsi dan TRUNCATE() fungsi yang dapat mengembalikan hasil yang sama atau hasil yang berbeda, tergantung pada nilai pasti dari argumennya.

Di bawah ini adalah ikhtisar singkat tentang perbedaan antara FLOOR() dan TRUNCATE() di MariaDB.

Perbedaan

Berikut perbedaan antara masing-masing fungsi secara singkat:

  • FLOOR() mengembalikan nilai integer terbesar yang tidak lebih besar dari argumennya.
  • TRUNCATE() memotong argumennya ke sejumlah tempat desimal tertentu.

Sintaks

Pertama, berikut adalah sintaks dari setiap fungsi.

FLOOR()

Sintaks untuk FLOOR() seperti ini:

FLOOR(X)

Ini mengembalikan nilai integer terbesar tidak lebih besar dari X .

TRUNCATE()

Sintaks untuk TRUNCATE() seperti ini:

TRUNCATE(X,D)

TRUNCATE() mengembalikan nomor X , dipotong menjadi D tempat desimal.

Contoh

Berikut perbandingan untuk menunjukkan perbedaan antara FLOOR() dan TRUNCATE() :

SELECT 
    FLOOR(-3.6789),
    TRUNCATE(-3.6789, 0);

Hasil:

+----------------+----------------------+
| FLOOR(-3.6789) | TRUNCATE(-3.6789, 0) |
+----------------+----------------------+
|             -4 |                   -3 |
+----------------+----------------------+

Dalam hal ini, bilangan adalah nilai negatif dan hasil dari setiap fungsi berbeda.

  • FLOOR() mengembalikan bilangan bulat terbesar (-4 ) nilainya tidak lebih besar dari argumennya.
  • TRUNCATE() fungsi di sisi lain, cukup potong angka di tempat desimal yang ditentukan.

Hasil yang Sama

Kedua fungsi terkadang dapat mengembalikan hasil yang sama. Itu semua tergantung pada nilai argumen yang diteruskan.

Jika kita mengubah angka menjadi nilai positif, kedua fungsi mengembalikan hasil yang sama:

SELECT 
    FLOOR(3.6789),
    TRUNCATE(3.6789, 0);

Hasil:

+---------------+---------------------+
| FLOOR(3.6789) | TRUNCATE(3.6789, 0) |
+---------------+---------------------+
|             3 |                   3 |
+---------------+---------------------+

Argumen Kedua

Perbedaan nyata lainnya antara kedua fungsi tersebut adalah TRUNCATE() menerima/membutuhkan argumen kedua. Ini dapat menghasilkan hasil yang mengandung bagian pecahan.

FLOOR() namun, hanya mengembalikan bilangan bulat, jadi tidak ada bagian pecahan yang dikembalikan.

Contoh

SELECT 
    FLOOR(3.6789),
    TRUNCATE(3.6789, 2);

Hasil:

+---------------+---------------------+
| FLOOR(3.6789) | TRUNCATE(3.6789, 2) |
+---------------+---------------------+
|             3 |                3.67 |
+---------------+---------------------+

ROUND() Fungsi

Kedua fungsi tersebut berbeda dengan ROUND() fungsi, yang membulatkan argumennya ke sejumlah tempat desimal tertentu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menangani Transaksi Besar dengan Replikasi Streaming dan MariaDB 10.4

  2. Desain Basis Data 101:Partisi di MySQL

  3. Bagaimana REVERSE() Bekerja di MariaDB

  4. Bagaimana FIND_IN_SET() Bekerja di MariaDB

  5. MariaDB JSON_OBJECTAGG() Dijelaskan