Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Lajur dalam Pernyataan SELECT PostgreSQL Semasa Mengendalikan Nilai NULL?

Bagaimana untuk Menggabungkan Lajur dalam Pernyataan SELECT PostgreSQL Semasa Mengendalikan Nilai NULL?

DDD
Lepaskan: 2025-01-12 07:09:46
asal
655 orang telah melayarinya

How to Concatenate Columns in PostgreSQL SELECT Statements While Handling NULL Values?

Bagaimana untuk menyertai lajur dan mengendalikan nilai NULL dalam pernyataan PostgreSQL SELECT?

Soalan:

Anda ingin menggabungkan dua lajur rentetan (a dan b) dalam pernyataan PostgreSQL SELECT. Walau bagaimanapun, penggabungan langsung menggunakan operator || atau ||, ' mengembalikan nilai NULL.

Penyelesaian:

Sambungan jenis rentetan dalam PostgreSQL memerlukan sekurang-kurangnya satu input daripada jenis rentetan. Untuk jenis data bukan rentetan, penukaran eksplisit kepada jenis teks diperlukan untuk penggabungan yang berjaya.

Untuk menyertai lajur jenis rentetan, gunakan sintaks berikut:

<code class="language-sql">SELECT a || b AS ab FROM foo;</code>
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan fungsi concat_ws() untuk menggabungkan nilai menggunakan pembatas pilihan:

<code class="language-sql">SELECT concat_ws(', ', a, b) AS ab FROM foo;</code>
Salin selepas log masuk

Untuk jenis data bukan rentetan, tukar kepada jenis teks sebelum penyatuan, seperti ditunjukkan dalam contoh berikut:

<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>
Salin selepas log masuk

Perbandingan fungsi:

  • concat(): Menggabungkan berbilang nilai tanpa menggunakan pemisah.
  • concat_ws(): Gabungkan nilai menggunakan pembatas pilihan, menambah pembatas hanya antara nilai bukan NULL.

Kemeruapan fungsi kedua-dua concat() dan concat_ws() adalah STABIL, yang bermaksud bahawa keputusannya mungkin berubah bergantung pada data input. Untuk fungsi tidak berubah, pertimbangkan untuk menggunakan teknik seperti pengklonan tidak berubah tersuai atau carian teks penuh.

Nota tambahan:

    • Operator
    • bukan operator gabungan rentetan yang sah dalam PostgreSQL atau SQL standard. Ia hanya berfungsi dengan produk Microsoft.
  • Adalah disyorkan untuk menggunakan teks atau varchar untuk menyimpan rentetan dan bukannya jenis data aksara(n) atau char(n).

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Lajur dalam Pernyataan SELECT PostgreSQL Semasa Mengendalikan Nilai NULL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan