Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Nilai Sel Dipisahkan Koma ke Baris Individu Menggunakan Pelayan SQL?
Menukar Nilai Sel Dipisahkan Koma kepada Baris Individu Menggunakan Pelayan SQL
Apabila berurusan dengan data dalam jadual, kadangkala anda mungkin menghadapi nilai yang disimpan sebagai rentetan yang dipisahkan koma dalam satu sel. Untuk memudahkan analisis atau pemprosesan selanjutnya, nilai ini mungkin perlu dibahagikan kepada baris yang berasingan. Artikel ini meneroka cara untuk mencapai objektif ini menggunakan pertanyaan SQL Server SELECT.
Masalah:
Pertimbangkan jadual bernama "Sampel" dengan lajur yang dipanggil "String" yang mengandungi nilai dipisahkan koma. Anda perlu menukar data kepada format yang setiap nilai menduduki barisnya sendiri:
Jadual asal:
Id | String |
---|---|
1 | abc,def,ghi |
2 | jkl,mno,pqr |
Output yang diingini:
Id | processedrows |
---|---|
1 | abc |
1 | def |
1 | ghi |
2 | jkl |
2 | mno |
2 | pqr |
Penyelesaian:
Untuk mencapai output yang diingini, anda boleh menggunakan SELECT berikut pertanyaan:
SELECT A.[id], Split.a.value('.', 'VARCHAR(100)') AS String FROM (SELECT [id], CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML) AS String FROM TableA) AS A CROSS APPLY String.nodes ('/M') AS Split(a);
Penjelasan:
Rujukan:
Untuk mendapatkan maklumat lanjut tentang teknik ini dan penyelesaian alternatif, rujuk perkara berikut sumber:
http://www.sqljason.com/2010/05/converting-single-comma-separated-row.html
Atas ialah kandungan terperinci Bagaimana untuk Menukar Nilai Sel Dipisahkan Koma ke Baris Individu Menggunakan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!