Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menggabungkan lajur dengan betul dalam Pernyataan SELECT PostgreSQL?

Bagaimana untuk menggabungkan lajur dengan betul dalam Pernyataan SELECT PostgreSQL?

Barbara Streisand
Lepaskan: 2025-01-12 06:16:47
asal
435 orang telah melayarinya

How to Properly Concatenate Columns in PostgreSQL SELECT Statements?

Menyertai lajur dalam pernyataan PostgreSQL SELECT

Apabila menggabungkan rentetan aksara dalam pernyataan PostgreSQL SELECT, anda mungkin menghadapi ralat jika lajur tidak ditukar secara eksplisit kepada teks.

Soalan:

Terdapat dua lajur rentetan a dan b dalam jadual foo. Cuba untuk menyertai mereka menggunakan a || b atau a ||, ' ||.

Penyelesaian:

Untuk menggabungkan rentetan dengan betul dalam Postgres, sekurang-kurangnya satu input mesti ditukar kepada teks. Berikut ialah dua cara untuk melakukannya:

  • Tukar lajur kepada teks:
SELECT a::text || b AS ab FROM foo;
Salin selepas log masuk
  • Gunakan pemisah teks:
SELECT a || ', ' || b AS ab FROM foo;
Salin selepas log masuk

Nota:

  • Menggunakan operator penggabungan (||) antara jenis data bukan rentetan tidak digunakan lagi.
  • Untuk kes di mana nilai null ​​mungkin terlibat dan hasilnya tidak seharusnya batal, gunakan fungsi concat_ws():
SELECT concat_ws(', ', a, b) AS ab FROM foo;
Salin selepas log masuk
  • Sebagai alternatif, anda boleh menggunakan fungsi concat() untuk penggabungan bebas pembatas:
SELECT concat(a, b) AS ab FROM foo;
Salin selepas log masuk

Nota tambahan:

    • Pengendali
    • bukan operator penggabungan rentetan yang sah dalam Postgres.
  • Menggunakan jenis data aksara(n) untuk menyimpan rentetan biasanya tidak disyorkan. Pertimbangkan untuk menggunakan teks atau varchar sebaliknya.

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan lajur dengan betul dalam Pernyataan SELECT PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan