Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencapai Pengagregatan Rentetan dalam Versi Pelayan SQL Lama (Pra-2017)?

Bagaimanakah Saya Boleh Mencapai Pengagregatan Rentetan dalam Versi Pelayan SQL Lama (Pra-2017)?

DDD
DDDasal
2025-01-20 19:27:15449semak imbas

How Can I Achieve String Aggregation in Older SQL Server Versions (Pre-2017)?

Cara menggunakan String_agg dalam versi SQL Server yang lebih lama

Fungsi

string_agg ialah alat yang berkuasa untuk menggabungkan berbilang baris ke dalam satu rentetan dan digunakan secara meluas dalam pelbagai pangkalan data SQL seperti PostgreSQL dan SQL Server. Walau bagaimanapun, fungsi string_agg tidak disokong secara asli dalam versi SQL Server sebelum 2017.

Penyelesaian untuk SQL Server 2014:

Untuk mencapai kefungsian serupa dalam SQL Server 2014, anda boleh menggunakan pertanyaan berikut:

<code class="language-sql">SELECT STUFF((SELECT ',' + CAST(t.id AS VARCHAR(MAX))
              FROM tabel t
              FOR XML PATH('')
             ), 1, 1, '');</code>

Dalam pertanyaan ini:

    Fungsi
  • FOR XML PATH('') menjana senarai nilai id yang dipisahkan koma.
  • Fungsi
  • STUFF mengalih keluar koma awal daripada hasil carian.
  • CAST(t.id AS VARCHAR(MAX)) Memastikan semua nilai id ditukar kepada rentetan tanpa mengira jenis data asalnya.

Kaedah ini secara berkesan meniru gelagat string_agg, membolehkan anda menggabungkan berbilang nilai id ke dalam rentetan yang dipisahkan koma tunggal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Pengagregatan Rentetan dalam Versi Pelayan SQL Lama (Pra-2017)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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