FUNGSI
PEMBULATAN DALAM SQL
Salah satu fitur
penting dalam masalah penghitungan dalam query pembulatan.Dan beruntung sekali,
SQL menyediakan banyak fasilitas pembulatan yang bervariasi. Dan ini tentunya
sangatmembantu bagi para programmer.
Berikut ini adalah
beberapa syntax pembulatan dalam sql :
ROUND
Merupakan
syntax default yang paling mainstream. Bisa dibilang, penggunaan round
merupakan pilihan 'aman' bagi para programmer yang memang tak mau ribet dengan
aturan pembulatan yang njelimet.
Syntax :
ROUND (angka yang akan dibulatkan, jumlah angka
dibelakang koma)
Lihat? Sangat mudah
dipahami dan diterapkan 'kan?
Contoh :
select round(5.123456 , 2) from dual ==> 5.12
select round(5.87654 , 2) from dual ==> 5.88
Pembulatan
angka di belakang titik/koma akan disesuaikan secara otomatis seperti peraturan
matematika pada umumnya. Bila angka di atas 5, maka akan dibulatkan ke bilangan
lebih besar. Bila angka di bawah 5, maka akan dibulatkan lebih kecil. Ada sedikit
perbedaan dengan aturan standar sih. Yaitu ketika angka desimal-nya 5, maka
akan dibulatkan ke bilangan lebih besar. Tidak seperti pelajaran di SD yang tak
mengalami perubahan atau pembulatan.
FLOOR
Floor
adalah fungsi pembulatan dalam SQL yang akan mengubah bilangan desimal atau
bilangan bulat menjadi sesuai dengan bilangan sebelum desimal.
Syntax :
select floor(5.89) from dual ==> 5
select floor(5.12) from dual ==> 5
Lihat?
Berapa pun besar bilangan di belakang desimal, itu takkan berpengaruh, karena
hasilnya tetap akan merujuk pada bilangan utama, atau non-pecahannya. Atau
dengan kata lain, syntax floor ini adalah menghilangkan setiap angka setelah
desimal- tak mempedulikan berapa pun besarannya-. Yang tersisa hanyalah
bilangan utamanya.
CEIL
Fungsi Sql satu ini adalah
reversi atau kebalikan dari Floor.
Syntax :
select ceil(5.89) from dual ==> 6
select ceil(5.12) from dual ==> 6
Bila
floor bertugas untuk 'menghilangkan' bilangan setelah desimal-nya saja. Maka
ceil ini memiliki job untuk membulatkan bilangan ke angka sesudahnya. Tidak
peduli berapa pun besar dari angka di belakang koma atau titik.
Ah, benar juga.
Penggunaan round juga bisa dimanfaatkan untuk melakukan pembulatan dalam tipe
data date atau tanggal.
Syntax :
round
(date, format data)
contoh :
select round (to_date('01-MAR-1994','YYYY')) from dual ==> 01-JAN-1994
Dari
contoh di atas, kita melakukan pembulatan terhadap tanggal 1 maret 1994 dan
dibulatkan dalam format tahunan. Karena maret merupakan bulan ke-3, dan
merupakan bilangan yang ada di setengah bawah dari 12 bulan(1-6 setengah bawah,
7-12 setengah atas), maka akan dibulatkan ke tahun tersebut dengan bulan
pertama.
contoh lain :
select round (to_date('01-SEP-1994','YYYY')) from dual ==> 01-JAN-1995
Karena September termasuk dalam
setengah atas dari 12 bulan, maka akan dibulatkan maju. Dengan kata lain,
dibulatkan ke tahun selanjutnya (1995). Sedangkan bulannya, akan menjadi bulan
pertama, alias Januari.
Contoh beberapa format round yang
dipakai dalam pembulatan tanggal :
Format Tipe
|
Deskripsi
|
CC / SCC
|
Century ,
pembulatan ke abad terkedat
|
YYYY / YEAR
|
Year,
pembulatan ke tahun terdekat
|
DDD / DD /
D
|
Day,
pembulatan ke hari terdekat
|
HH / HH12 /
HH24
|
Hours,
pembulatan ke jam terdekat
|
MI
|
Minute,
pembulatan ke menit terdekat
|
Itulah beberapa contoh dan penggunaan dari syntax pembulatan di sql,
terutama yang dipakai oleh Oracle.
Insya Allah, semoga sedikit informasi yang
dibagi ini bisa bermanfaat bagi kita semua!