- Satu atau lebih hujah boleh berlaku.
- Gabungkan argumen dan mengembalikan rentetan yang dihasilkan.
- Apabila semua nilai adalah rentetan bukan binari, hasilkan rentetan bukan binari.
- Menghasilkan rentetan binari jika rentetan binari digunakan dalam argumen.
- Sekiranya berangka, ia juga diterjemahkan ke bentuk rentetan bukan binari.
- Sekiranya setiap argumen adalah NULL, fungsi ini mengembalikan NULL.
Buka shell klien baris perintah MySQL dari aplikasi, dan tambahkan kata laluan anda semasa bertanya.
Contoh 01: Gabungkan Dua Lajur Menggunakan CONCAT
Kami mempunyai jadual 'guru' dalam pangkalan data 'data'. Kami ingin mengaitkan rentetan dari dua lajur "TeachName" dan "nama belakang" tanpa ruang di antara mereka.
Jalankan perintah SELECT CONCAT yang mempunyai nama lajur dalam tanda kurung yang dipisahkan dengan koma. Lajur baru 'Nama' dihasilkan untuk menyimpan nilai rentetan gabungan di dalamnya dan hasilnya ditunjukkan di bawah.
>> SELECT CONCAT (TeachName, nama belakang) SEBAGAI Nama DARI data.guru;
Contoh 02: Gabungkan Dua Lajur dengan Ruang
Andaikan kita mempunyai jadual di bawah "pelajar" dalam pangkalan data "data" dan kita ingin menggabungkan rentetan dari dua lajur "Nama" dan "Subjek" dengan ruang antara nilai.
Gunakan perintah SELECT CONCAT di bawah sambil memberikan nama lajur dalam tanda kurung untuk menggabungkan nilai rentetan yang dipisahkan dengan spasi. Nilai gabungan akan disimpan dalam lajur baru, “StudentDetail."Lajur yang dihasilkan mempunyai semua rentetan gabungan sekarang.
>> PILIH KONCAT (Nama, ", Subjek) SEBAGAI Maklumat Pelajar DARI data.pelajar;
Contoh 03: Gabungkan Beberapa Lajur dengan Watak Khas
Mari kita anggap jadual di bawah "guru" untuk menggabungkan nilai rentetan dari lebih daripada dua lajur dengan watak khas yang berbeza.
Cubalah arahan di bawah sambil menambahkan tanda '-' dan bukannya spasi. Kumpulan hasilnya mempunyai lajur rentetan gabungan dari lajur meja dengan watak khas yang digunakan di dalamnya.
>> PILIH CONCAT (TeachName, '-', subjek, '-', kelayakan) SEBAGAI Detail dari data.guru;
Contoh 04: Bersambung Semasa Mengambil Lajur Tambahan
Sekiranya anda ingin menggabungkan rentetan lajur sambil mengambil lajur lain dalam pertanyaan yang sama, anda berada di tempat yang tepat. Pertimbangkan jadual "binatang" dalam pangkalan data "data" di bawah.
Kami telah menggabungkan tiga lajurnya; "Warna", "Nama", dan "Jantina" sambil menggunakan spasi dan karakter khas di antaranya. Rentetan gabungan dari lajur ini akan disimpan ke lajur baru, "AnimData". Sebaliknya, kami telah mengakses catatan lajur lain "Harga" dan "Umur" dari jadual ini. Rekod akan diambil dari baris di mana jantina haiwan adalah "M" bermaksud lelaki sahaja. Anda mempunyai hasil rentetan gabungan dari lajur yang berbeza serta lajur lain yang telah dipaparkan secara berasingan.
>> PILIH KONCAT (Warna, ", Nama, '-', Jantina) SEBAGAI AnimData, Harga, Umur DARI data.haiwan DI MANA Jantina = 'M';
Contoh 05: Gabungkan Lebih Banyak Rentetan dengan Rentetan Lajur
Sekiranya anda ingin menambahkan rentetan dan bukannya watak atau ruang khas, anda juga boleh melakukannya. Oleh itu, mari kita mempunyai contoh mudah untuk melakukan ini. Anggaplah anda mempunyai "buku" jadual dan anda mempunyai data di bawah ini mengenai buku, harga, pengarang, jilid, dan halaman seperti yang ditunjukkan dalam gambar. Sekarang, kita akan menggabungkan rentetan dari lajur "Nama", "Pengarang", dan "Harga" menggunakan tabel ini.
Kami telah menggunakan pernyataan SELECT CONCAT untuk menggabungkan rentetan dari tiga lajur. Semua data jadual ini disusun terlebih dahulu dalam urutan menaik lajur "Nama". Dalam kurungan, kami telah menyediakan "Buku", "ditulis oleh", dan "mempunyai harga" sebagai rentetan tambahan, bukan ruang atau watak khas dalam koma terbalik. Sekarang fungsi CONCAT akan mengambil nilai koma terbalik pertama "Buku" bersama dengan nilai dari lajur "Nama", kemudian nilai koma terbalik kedua 'ditulis oleh' diikuti oleh nilai rentetan kolom "Pengarang", dan terakhir ketiga nilai koma terbalik "mempunyai harga" diikuti dengan nilai lajur 'Harga'. Semua rentetan dan nilai ini dari lajur akan digabungkan dan akan membuat ayat yang lengkap. Kalimat rentetan mega baru ini akan disimpan di lajur baru "BookDetail".
>> PILIH KONCAT ('Buku', Nama, 'ditulis oleh', Pengarang, 'mempunyai harga', Harga) SEBAGAI BukuDetail DARI data.buku PESANAN MENGIKUT Nama ASC;
Contoh 06: Rentetan Lajur Gabungan Menggunakan CONCAT_WS
CONCAT_WS nampaknya merupakan varian unik dari fitur CONCAT yang memungkinkan anda menentukan simbol (atau watak) mana yang akan dibuang sebagai pembahagi mengenai gabungan tali. Ia semudah fungsi CONCAT ringkas. Oleh itu, mari kita pertimbangkan jadual "sosial" dalam pangkalan data MySQL yang mempunyai nilai mengenai pengguna, aplikasi media sosial mereka yang paling banyak digunakan, dan usia pengguna. Sekarang kita akan melakukan penggabungan menggunakan fungsi CONCAT_WS.
Dalam pertanyaan di bawah ini, kami telah menggabungkan tiga lajur dan menyimpan hasil gabungan ini ke lajur "Detail". Seperti yang anda perhatikan, ada sesuatu yang berbeza kerana kita telah menentukan beberapa watak khas "***" dalam koma terbalik sebelum nama lajur. Ini kerana kami ingin menambahkan watak khas ini antara rentetan lajur, satu demi satu menggunakan fungsi CONTACT_WS. Oleh itu, dari senario ini, jelas bahawa kita tidak perlu memasukkan watak khas dalam pertanyaan setelah setiap lajur ditentukan ketika datang ke jenis watak yang sama.
>> PILIH CONCAT_WS ('***', Pengguna, Laman Web, Umur) SEBAGAI Perincian DARI data.sosial;
Kesimpulan:
Anda kini dapat memahami semua perkara penting mengenai penggabungan lajur rentetan dan nilainya dengan berkesan menggunakan fungsi CONCAT sederhana dan fungsi CONCAT_WS di MySQL Shell.