SQL Server NULL di Query Select Case When
Kalau pernah pasti membingungkan pas bikin CASE di data yang isinya NULL, tapi kalau belum pernah bikin Query CASE bisa klik link ini
Kenapa bingung ?
Karena hasilnya sangat konsisten banget banget, konsisten nggak mengeluarkan hasil yang kita inginkan, mau di coba berkali kali hasilnya tetep bukan yang kita mau, gw merasa jadi orang bodo banget. “mencoba hal yang sama dan mengharapkan hasil yang berbeda” [Quoted from NN]
mari kita lihat contoh dibawah,
ID NAMA KELAS
1 Joko NULL
2 Budi Berat
3 Tono Ringan
4 Tini NULL
Tebak apa hasilnya kalo gw jalanin query dibawah
SELECT NAMA, CASE KELAS WHEN NULL THEN 'BELUM REGISTER' ELSE 'REGISTER' END AS KELAS FROM XXXX
Kalau pikirannya sama kaya jawaban dibawah, itu salah, kalau gak percaya silahkan coba sendiri,
Joko BELUM REGISTER
Budi REGISTER
Tono REGISTER
Tini BELUM REGISTER
Hasilnya bakal kaya di bawah, kalau gak percaya coba sendiri,
Joko REGISTER
Budi REGISTER
Tono REGISTER
Tini REGISTER
Kok Aneh ?
Gw sendiri juga gak tau, tapi peduli amat kenapa aneh, yang penting hasil yang gw mau, mencari yang 'BELUM REGISTER' bisa tercapai.
Gimana caranya ?
SELECT NAMA, CASE ISNULL(KELAS,'') WHEN '' THEN 'BELUM REGISTER' ELSE 'REGISTER' END AS KELAS FROM FROM XXXX
Yakin Put ?
Hmmmm.. coba sendiri aja deh :p gw mau cari DVD Gossip Girl Dulu [it's one Secret ill never tell]