Masalah:
Anda ingin menggabungkan string dari dua kolom tabel menjadi satu.
Contoh:
Basis data kami memiliki tabel bernama student
dengan data pada kolom berikut:id
, first_name
dan last_name
.
id | nama_depan | nama_belakang |
---|---|---|
1 | Lora | Smith |
2 | Emil | Coklat |
3 | Alex | Jackson |
4 | Martin | Davis |
Mari tambahkan nama depan ke nama belakang siswa dalam satu string. Gunakan spasi di antara setiap nama.
Solusi:
SELECT first_name || ‘ ‘ || last_name AS full_name FROM student;
Kueri ini mengembalikan catatan dalam satu kolom bernama full_name
:
nama_lengkap |
---|
Lora Smith |
Emil Coklat |
Alex Jackson |
Martin Davis |
Diskusi:
Untuk menambahkan string ke string lain dan mengembalikan satu hasil, gunakan || operator. Ini menambahkan dua string dari kiri dan kanan bersama-sama dan mengembalikan satu hasil. Jika Anda menggunakan nama kolom, jangan sertakan dalam tanda kutip. Namun, dalam menggunakan nilai string sebagai spasi atau teks, sertakan dalam tanda kutip.
Dalam contoh kami, kami menambahkan spasi ke first_name
lalu kolom last_name
. Kolom baru ini disebut full_name
.
Anda juga dapat menggunakan fungsi khusus:CONCAT. Dibutuhkan daftar string atau nama kolom untuk bergabung sebagai argumen:
SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name FROM student;
Hasilnya identik.
Namun, fungsi CONCAT() lebih baik untuk mengambil data dari kolom dengan nilai NULL. Mengapa? Karena, ketika NULL disertakan dalam nilai yang akan digabungkan, operator mengembalikan NULL sebagai hasilnya. Dalam kasus CONCAT(), NULL tidak akan ditampilkan.
Lihat hasil dari || operator jika Emill tidak memiliki nama belakang yang tercatat:
SELECT first_name || ‘ ‘ || last_name AS full_name FROM student;
nama_lengkap |
---|
Lora Smith |
NULL |
Alex Jackson |
Martin Davis |
Lihat fungsi CONCAT untuk data yang sama:
SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name FROM student;
nama_lengkap |
---|
Lora Smith |
Emil |
Alex Jackson |
Martin Davis |