Di MariaDB, FLOOR()
adalah fungsi numerik bawaan yang mengembalikan nilai bilangan bulat terbesar yang tidak lebih besar dari argumennya.
Sintaks
Sintaksnya seperti ini:
FLOOR(X)
Dimana X
adalah nilai untuk menerapkan operasi.
Contoh
Ini contohnya:
SELECT FLOOR(3.6789);
Hasil:
+---------------+ | FLOOR(3.6789) | +---------------+ | 3 | +---------------+
Melewati nilai negatif menghasilkan hasil berikut:
SELECT FLOOR(-3.6789);
Hasil:
+----------------+ | FLOOR(-3.6789) | +----------------+ | -4 | +----------------+
Dibandingkan dengan ROUND()
FLOOR()
fungsinya berbeda dengan ROUND()
fungsi. ROUND()
fungsi akan membulatkan angka ke atas dalam beberapa kasus dan ke bawah pada kasus lain. FLOOR()
fungsi, di sisi lain, selalu mengembalikan nilai integer terbesar tidak lebih besar dari argumennya.
SELECT
FLOOR(3.6789),
ROUND(3.6789);
Hasil:
+---------------+---------------+ | FLOOR(3.6789) | ROUND(3.6789) | +---------------+---------------+ | 3 | 4 | +---------------+---------------+
Juga, ROUND()
memungkinkan kita untuk menentukan jumlah tempat desimal yang akan dibulatkan menjadi:
SELECT
FLOOR(3.6789),
ROUND(3.6789, 2);
Hasil:
+---------------+------------------+ | FLOOR(3.6789) | ROUND(3.6789, 2) | +---------------+------------------+ | 3 | 3.68 | +---------------+------------------+
FLOOR()
juga berbeda dengan TRUNCATE()
fungsi, yang hanya memotong angka ke tempat desimal tertentu.
Argumen Non-Numerik
Inilah yang terjadi ketika kami memberikan argumen non-numerik:
SELECT FLOOR('Ten');
Hasil:
+--------------+ | FLOOR('Ten') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Mari kita periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
Argumen Tidak Ada
Memanggil FLOOR()
tanpa argumen menghasilkan kesalahan:
SELECT FLOOR();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FLOOR'