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!
ss penggunaan ||''|| dong kak , nuwun
ReplyDelete