Database

Mengatasi Hasil NULL Saat Menggunakan Fungsi CONCAT

Gambar ilustrasi database. Sumber: http://www.thebluediamondgallery.com/tablet/d/database.html

Gambar ilustrasi database. Sumber: http://www.thebluediamondgallery.com/tablet/d/database.html

Saya memiliki sebuah query yang menggunakan CONCAT seperti di bawah ini:

SELECT
  friend_id,
  CONCAT(`nama`, " ", "(Alamat: ", `alamat`, " / Kode pos: ", `kode_pos`, ")" ) AS data
FROM
  friends

Bila query ini dijalankan, maka pada kolom yang memiliki nilai NULL akan menghasilkan baris berisi NULL.

Untuk mengatasi hal ini dapat digunakan fungsi MySQL bernama IFNULL, seperti di bawah ini:

SELECT
  friend_id,
  CONCAT(`nama`, " ", "(Alamat: ", IFNULL(`alamat`, '-'), " / Kode pos: ", IFNULL(`kode_pos`, '-'), ")" ) AS data
FROM
  friends

Di sini, bila terdapat sel bernilai NULL maka sel akan diganti menjadi karakter garis sambung (-), di mana karakter dapat diisi sekehendak kita selama di luar karakter yang tidak dapat digunakan dalam sebuah query atau reserved word.

Demikian tip ini, semoga bermanfaat.

Leave a Reply