Wednesday, September 2, 2009

SQL Pencarian di Oracle

Didalam oracle untuk pencarian menggunakan metode like walaupun sudah menggunakan % tetap saja hasil yang ditampilkan sesuai dengan apa yang diharapakan.
Contoh Kasus ketika kita ingin mencari nama aset dengan kata kunci 'Mobil','mobil' atau 'MOBIL' maka dengan menggunakan sql seperti dibawah ini akan menghasilkan hasil pencarian yang berbeda.

select * from asset
where nama_asset LIKE '%Mobil%'
Namun jika dijalankan di Mysql maka query tersebut akan menampilkan semua record nama aset yang mengandung kata 'Mobil Dinas','Mobil','mobil', ataupun 'MOBIL'

Sedangkan ketika dijalankan di Oracle maka dia akan menampilkan record 'Mobil' atau 'Mobil Dinas' saja. jadi jika kita memasukkan keywordnya 'mobil' atau 'MOBIL' maka hasil pencariannya '', karena dia hanya mencari dengan metode case sensitive Agar pencariannya Optimal dan efektif kita bisa mengunakan fungsi UPPER yang ada didalam oracle, Maka sintak oraclenya setelah ditambahkan UPPER akan menjadi seperti ini :

select * from asset
where upper(nama_asset) LIKE upper('%Mobil%')

dengan penambahan UPPER maka hasil pencarian akan efektif, ketika kita memasukkan keywoard 'Mobil' maka hasil pencarian akan menampilkan semua nama aset yang mengandung 'Mobil','mobil' atau 'MOBIL'

No comments: