Concat Dalam SQL Oracle



CONCAT DALAM SQL ORACLE

     Concat berasal dari kata bahasa Inggris yaitu concatenation, yang berarti rentetan atau rangkaian yang saling jalin-menjalin. Fungsi utama dari concat adalah menggabungkan dua buah karakter menjadi satu kesatuan kalimat. Jika dua string yang akan digabungkan memiliki tipe data yang berbeda, maka hasilnya akan memiliki format data CHAR. Jadi, meski string pertama berupa date, lalu yang kedua merupakan char biasa, maka hasilnya pun tetap merupakan jenis CHAR. Jika melibatkan karakter yang memiliki format number, maka hasilnya pun juga tetap ada unsur CHAR. Meski result value tersebut masih bisa diolah dengan proses penghitungan seperti penambahan dan pengurangan. 

Syntax :
     Concat(string1,string2)
Contoh :
     concat('John','Herman')
     Berdasarkan example, maka hasil dari perintah di atas akan menampilkan data berupa JohnHerman. String pertama dan kedua digabungkan, tanpa ada spasi atau pemisah. Karena memang concat tidak menyediakan fitur space untuk setiap character yang dijoinkan. Bila ingin menambahkan space, kita bisa menambahkan spasi setelah kata satu atau sebelum kata dua.
     concat('John ','Herman')
     Menambahkan space seperti yang tertera di bagian atas, maka result valuenya adalah John Herman.
Penggabungan dua buah field data menjadi satu kadang kita perlukan. Misalkan, jika saja kolom data nama depan pegawai terpisah dengan kolom nama belakang pegawai. Atau ingin menggabungkan nama lengkap dengan kode pegawai.
     Nah, bila untuk menyatukan dua data sih, concat dengan syntax di atas masih bisa diandalkan. Tapi, sayangnya. Kemampuannya terbatas untuk penggabungan sebanyak dua string saja. Dengan kata lain, kita tidak bisa menjoinkan tiga string secara berurutan atau lebih, dalam satu concat. Bila ingin melakukannya, kita 'dipaksa' untuk menambah syntax concat terus menerus.
Contoh :
concat(concat(concat('John','Herman'),'Budi'),'Anduk')
     Nah, nah. Lihatlah. Seandainya ingin 4 string jadi satu, maka secara berurutan, kita pun harus menuliskan concat setelah concat sebelumnya. Jadi, pertama, concat untuk proses JohnHerman, lalu concat kedua agar JohnHerman + Budi. Dan terakhir, untuk menyatukan JohnHermanBudi + Anduk.
Aduh, kelihatannya malah repot ya..
     Nah, kalo ada banyak, berapa nambah concat terus dong. Wah, repot juga deh. Hmm.. tenang saja gan. Untuk itu, kita bisa melakukan tips lain kok. Yakni memakai concat dalam bentuk simbol.
Benar, kita bisa mengubah syntax concat dengan mengandalkan ||.
Untuk bisa mendapatkan tanda itu tekan shift + \
Itu adalah tanda yang biasanya sih ada di atas enter keyboard. Lihat 'kan? ada kombinasi \ dan |.
Variasi Syntax :
     string1 || string2
     string1 ||' '|| string2
     string1 || string2 || ' '|| string3
Wah, kalau yang ini malah ada banyak style-nya gan. Penggunaanya pun cukup simpel. Tidak perlu kurung segala seperti concat biasa.
Contoh :
     John || Herman
Result ==> JohnHerman
     John ||' '|| Herman
Result ==> John Herman
     John ||' '|| Herman ||Budi
Result ==> John HermanBudi
     Dengan tanda || ini, pemakaian kata concat tidak diperlukan lagi untuk penggabungan karakter. Selain itu pada tengah-tengah ||''||, dibagian antara tanda petik satu, bisa diisi dengan kata atau spase sebagai pemisah string sebelum dengan sesudahnya.
Pemakaian || pun lebih mudah digunakan serta banyak kelebihan daripada concat, terutama dalam hal keringkasan maupun 'keindahan' mata memandang. Bandingkan saja, lebih mudah untuk menelaah dan membongkar script yang tersusun rapi dari tanda || daripada berjubel tulisan concat(concat(concat... bla..bla..bla yang membuat kita harus memeriksa dengan teliti satu persatu pemakaiannya. Hahaha...
Upps.. Tapi, bukan berarti concat itu sudah tidak diperlukan lagi lho. Buktinya saja, di Oracle masih ada syntax concat. Hehehe..
Insya Allah, semoga sedikit informasi ini dapat bermanfaat!


1 Response to "Concat Dalam SQL Oracle"