Senin, 30 Juli 2012

Manipulasi String dengan Upper Case dan Lower Case

Seringkali kita menemukan data di dalam sebuah tabel pengisian hurufnya campuran antara huruf kecil dan kapital. Hal ini menyulitkan kita ketika kita membuat sebuah filter di dalam WHERE. Bingung? Langsung saja ke contohnya sebagai berikut, ada tabel sebagai berikut :
ID_PENGARANG NAMA ALAMAT
P001 WISNU ARDIHERDIYAN YOGYAKARTA
P002 DIANA NASUTION MEDAN
P003 FAJAR NURDIANTORO PEKANBARU
P004 NURDIANSYAH MALUKU
P005 Fajar Nurdiantoro SEMARANG
P006 anAStAsia PUrbaSari NGANJUK

Ada query seperti ini :
SELECT
    *
FROM
    PENGARANG
WHERE
    NAMA = 'WISNU ARDIHERDIYAN';


Query diatas pasti menghasilkan nilai karena dari tabel diatas row yang memenuhi syarat di dalam WHERE.
ID_PENGARANG NAMA ALAMAT
P001 WISNU ARDIHERDIYAN YOGYAKARTA
Masalah terjadi kalau String yang dijadikan key di dalam WHERE berasal dari inputan dari aplikasi yang kita buat. Misal user menginputkan namanya dengan huruf kecil semua (contoh : 'wisnu ardiherdiyan'), pasti query diatas tidak menghasilkan nilai karena WHERE NAMA = 'wisnu ardiherdiyan' tidak tercantum di dalam tabel.
ID_PENGARANG NAMA ALAMAT



Supaya kita bisa mendapatkan nilainya walaupun user menginputkan nama dengan huruf besar atau huruf kecil atau bahkan campuran besar dan kecil, kita bisa memanfaatkan fungsi UPPER CASE atau LOWER CASE. Langsung saja, querynya seperti berikut :
SELECT
    *
FROM
    PENGARANG
WHERE
    NAMA = UPPER('wisnu ardiherdiyan');

Query tersebut akan mendapatkan nilai yang kita inginkan, karena UPPER('wisnu ardiherdiyan') akan membuat String tersebut menjadi huruf besar semua menjadi WISNU ARDIHERDIYAN.
ID_PENGARANG NAMA ALAMAT
P001 WISNU ARDIHERDIYAN YOGYAKARTA
Bagaimana jika kasus penulisan nama 'alay' justru berada di database seperti di row 6 ('anAStAsia PUrbaSari')? Untuk mendapatkan nilainya, kita bisa memodifikasi query menjadi seperti berikut :
SELECT
    *
FROM
    PENGARANG
WHERE
    UPPER(NAMA) = UPPER('anastasia purbasari');

Query diatas akan membuat data field NAMA menjadi huruf besar semua, dan inputan String 'anastasia purbasari' juga akan dibuat menjadi huruf besar semua.
ID_PENGARANG NAMA ALAMAT
P006 anAStAsia PUrbaSari NGANJUK

Kesimpulan :
Fungsi UPPER digunakan untuk membuat sebuah String bisa menjadi huruf kapital semua, dan fungsi LOWER digunakan untuk membuat sebuah String bisa menjadi huruf kecil semua.

Semoga bermanfaat.