Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Query - Menggabungkan Hasil menjadi Satu String

Jika Anda menggunakan SQL Server 2005 atau lebih tinggi, Anda dapat menggunakan FOR XML PATH & STUFF ini trik:

DECLARE @CodeNameString varchar(100)

SELECT 
   @CodeNameString = STUFF( (SELECT ',' + CodeName 
                             FROM dbo.AccountCodes 
                             ORDER BY Sort
                             FOR XML PATH('')), 
                            1, 1, '')

FOR XML PATH('') pada dasarnya menggabungkan string Anda menjadi satu, hasil XML yang panjang (seperti ,code1,code2,code3 dll.) dan STUFF menempatkan karakter "tidak ada" di karakter pertama, mis. menghapus koma pertama yang "berlebihan", untuk memberikan hasil yang mungkin Anda cari.

PERBARUI: OK - Saya mengerti komentarnya - jika teks Anda di tabel database sudah berisi karakter seperti < , > atau & , lalu solusi saya saat ini sebenarnya akan menyandikannya menjadi < , > , dan & .

Jika Anda memiliki masalah dengan penyandian XML itu - maka ya, Anda harus melihat solusi yang diusulkan oleh @KM yang juga berfungsi untuk karakter tersebut. Satu kata peringatan dari saya:pendekatan ini lebih banyak intensif sumber daya dan pemrosesan - asal tahu saja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengkloning database SQL Server di server yang sama di SQL Server 2008 Express?

  2. Impor Excel SSIS Memaksa Jenis Kolom Salah

  3. Menghapus Akun Email Database dari Profil (SSMS)

  4. Apa cara terbaik untuk menampilkan gambar dari database server sql di asp.net?

  5. Cara Mengatur Susunan Kolom di SQL Server (T-SQL)