Di Oracle, FLOOR() fungsi mengembalikan bilangan bulat terbesar yang sama dengan atau kurang dari argumennya.
Sintaks
Sintaksnya seperti ini:
FLOOR(n)
Dimana n dapat berupa tipe data numerik atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke tipe data numerik.
Contoh
Ini contohnya:
SELECT FLOOR(1.85)
FROM DUAL; Hasil:
FLOOR(1.85)
______________
1 Mengalihkannya ke nilai negatif menghasilkan hasil berikut:
SELECT FLOOR(-1.85)
FROM DUAL; Hasil:
FLOOR(-1.85)
_______________
-2 Dibandingkan dengan ROUND()
FLOOR() fungsinya berbeda dengan ROUND() fungsi. ROUND() fungsi akan membulatkan angka ke atas dalam beberapa kasus, dan ke bawah dalam kasus lain. FLOOR() di sisi lain, selalu mengembalikan bilangan bulat terbesar yang sama dengan atau kurang dari argumennya.
SELECT
FLOOR(1.85),
ROUND(1.85)
FROM DUAL; Hasil:
FLOOR(1.85) ROUND(1.85)
______________ ______________
1 2
Juga, ROUND() memungkinkan kita untuk menentukan jumlah tempat desimal yang akan dibulatkan menjadi:
SELECT
FLOOR(1.85),
ROUND(1.85, 1)
FROM DUAL; Hasil:
FLOOR(1.85) ROUND(1.85,1)
______________ ________________
1 1.9 Argumen Non-Numerik
Argumen dapat berupa tipe data numerik apa pun atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke tipe data numerik.
Inilah yang terjadi ketika kami memberikan argumen non-numerik yang tidak dapat dikonversi ke tipe data numerik:
SELECT FLOOR('Bruce')
FROM DUAL; Hasil:
Error starting at line : 1 in command -
SELECT FLOOR('Bruce')
FROM DUAL
Error report -
ORA-01722: invalid number Nilai Null
Melewati null ke FLOOR() mengembalikan null :
SET NULL 'null';
SELECT FLOOR(null)
FROM DUAL; Hasil:
FLOOR(NULL)
______________
null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali null terjadi sebagai akibat dari SQL SELECT penyataan.
Namun, Anda dapat menggunakan SET NULL untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null harus dikembalikan.
Jumlah Argumen Salah
Memanggil FLOOR() tanpa memberikan argumen apa pun mengembalikan kesalahan:
SELECT FLOOR()
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT FLOOR() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Dan meneruskan jumlah argumen yang salah menghasilkan kesalahan:
SELECT FLOOR(1, 2)
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT FLOOR(1, 2) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Oracle juga memiliki CEIL() fungsi yang mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan argumennya.