Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Teks dari Berbilang Baris ke dalam Rentetan Tunggal dalam Pelayan SQL?

Bagaimana untuk Menggabungkan Teks dari Berbilang Baris ke dalam Rentetan Tunggal dalam Pelayan SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-25 18:12:09456semak imbas

How to Concatenate Text from Multiple Rows into a Single String in SQL Server?

SQL Server Multi -line Text digabungkan ke dalam satu rentetan baris

Dalam pelbagai senario pangkalan data, anda mungkin perlu menggabungkan nilai rentetan dalam multi -baris ke dalam rentetan tunggal dan koheren. Ini amat berguna apabila anda perlu mengintegrasikan maklumat dari titik data yang berbeza ke dalam abstrak atau paparan yang komprehensif.

pernyataan soalan

Pertimbangkan jadual yang dipanggil "nama", yang mengandungi tiga baris berikut:

Peter

Paul

    Mary
  • cabaran
  • Matlamatnya adalah untuk menukar garis -garis berasingan ini ke dalam satu rentetan yang dipisahkan oleh koma: "Peter, Paul, Mary".
penyelesaian

Dalam pangkalan data SQL Server 2017 dan Azure SQL, anda boleh menggunakan fungsi String_AGG () untuk menyelesaikan tugas ini. Tatabahasa string_agg () adalah seperti berikut:

Untuk adegan kami, ungkapan itu akan menjadi lajur nama, dan pemisah akan menjadi koma. Perintah oleh klausa memastikan bahawa nama itu muncul dalam urutan tertentu (iaitu, perintah huruf).

SQL Query

output
<code class="language-sql">STRING_AGG(<expression> [ , delimiter ] [ ORDER BY <expression> [ ASC | DESC ] ])</code>

Penyelesaian Alternatif Versi SQL Versi SQL

Jika anda menggunakan versi awal SQL Server, seperti SQL Server 2005, anda boleh menggunakan kaedah berikut:
<code class="language-sql">SELECT STRING_AGG(Name, ', ') AS ConcatenatedNames
FROM Names
ORDER BY Name;</code>

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Teks dari Berbilang Baris ke dalam Rentetan Tunggal dalam Pelayan SQL?. 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