Data yang disimpan dengan berbilang nilai yang dipisahkan dengan koma boleh menimbulkan cabaran apabila mendapatkannya dalam format berstruktur. Artikel ini bertujuan untuk menangani isu ini dengan menyediakan penyelesaian untuk menukar nilai yang dipisahkan koma dalam lajur SQL Server kepada baris yang berasingan.
Dalam contoh yang disediakan, jadual Sampel mengandungi lajur bernama String dengan data seperti "abc ,def,ghi" dan "jkl,mno,pqr." Matlamatnya adalah untuk mengubah data ini menjadi jadual dengan berbilang baris, di mana setiap baris mengandungi nilai tunggal daripada lajur String.
Pertanyaan SQL Server berikut boleh mencapai transformasi ini:
SELECT A.[id], Split.a.value('.', 'VARCHAR(100)') AS processedrows FROM (SELECT [id], CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML) AS String FROM Sample) AS A CROSS APPLY String.nodes ('/M') AS Split(a);
Pertanyaan ini menggunakan beberapa teknik lanjutan untuk menukar nilai yang dipisahkan koma kepada XML dan kemudian mengekstrak setiap nilai sebagai baris yang berasingan. Rujuk http://www.sqljason.com/2010/05/converting-single-comma-separated-row.html untuk butiran lanjut tentang pendekatan ini.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Nilai Dipisahkan Koma kepada Berbilang Baris dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!