Tukar Nilai Dipisahkan Koma kepada Data Berstruktur Baris
Dalam Pelayan SQL, apabila data disimpan dalam format dipisahkan koma dalam lajur , ia boleh menjadi mencabar untuk mengekstrak dan memanipulasi nilai individu. Artikel ini menunjukkan cara untuk menukar data sedemikian kepada format berstruktur baris menggunakan pertanyaan pilihan.
Pertimbangkan jadual bernama Sampel dengan lajur yang dipanggil String yang mengandungi koma- nilai yang dipisahkan, seperti:
Id | String |
---|---|
1 | abc,def,ghi |
2 | jkl,mno,pqr |
Untuk mengekstrak dan mempersembahkan nilai individu sebagai baris, kita boleh menggunakan langkah berikut:
Balut lajur String dalam teg XML:
CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML)
Ini mencipta serpihan XML di mana setiap nilai terkandung dalam satu
Gunakan operator CROSS APPLY untuk melaksanakan pertanyaan hierarki:
CROSS APPLY String.nodes ('/M') AS Split(a)
Silang ini menggunakan kaedah nod pada serpihan XML, menghasilkan yang baharu baris untuk setiap
Gabungkan lajur Id dengan Split(a).value('text()') ungkapan:
SELECT A.[id], Split.a.value('.','VARCHAR(100)') AS String FROM (SELECT [id], CAST('...AS XML) AS String FROM Sample) AS A
Ini sepadan dengan Id dengan nilai yang diekstrak dan mengembalikannya sebagai berasingan baris.
Hasilnya akan menyerupai output yang diingini:
Id | ProcessedRows |
---|---|
1 | abc |
1 | def |
1 | ghi |
2 | jkl |
2 | mno |
2 | pqr |
Teknik ini membolehkan pengekstrakan dan pembentangan nilai yang dipisahkan koma sebagai baris, membolehkan analisis yang cekap dan manipulasi data.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Nilai Dipisahkan Koma kepada Baris dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!