Menggabungkan Lajur Watak(2) dalam Pertanyaan PostgreSQL
Apabila bekerja dengan penyataan PostgreSQL SELECT
, menggabungkan lajur aksara(2) boleh memberikan cabaran kerana operator penggabungan (||
) memerlukan sekurang-kurangnya satu input rentetan.
Satu penyelesaian ialah dengan secara eksplisit menghantar satu daripada aksara(2) lajur ke text
jenis data sebelum penyatuan. Ini memastikan kedua-dua input adalah jenis rentetan, membolehkan penggabungan yang berjaya. Contohnya:
<code class="language-sql">SELECT a::text || b AS combined_column FROM foo;</code>
Sebagai alternatif, fungsi concat_ws()
menawarkan penyelesaian yang mantap. Fungsi ini mengendalikan berbilang input, menggabungkannya dengan pemisah tertentu dan menguruskan nilai NULL dengan anggun. Ini menghalang keputusan NULL walaupun salah satu lajur input mengandungi nilai NULL. Contoh:
<code class="language-sql">SELECT concat_ws(', ', a, b) AS combined_column FROM foo;</code>
Untuk senario yang menuntut fungsi tidak berubah (mis., untuk indeks, lajur yang dijana atau pembahagian), fungsi tidak berubah tersuai berdasarkan concat_ws()
atau strategi alternatif, seperti menambah dan mengemas kini lajur gabungan baharu melalui pencetus pangkalan data, adalah disyorkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Lajur Watak(2) dalam Pernyataan SELECT PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!