Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengekstrak Data dengan Cekap daripada Lajur XML dalam Pelayan SQL?
Menguasai Pengekstrakan Data XML dalam Pelayan SQL: Panduan Praktikal
Mengekstrak titik data tertentu daripada lajur XML dalam SQL Server boleh menjadi rumit. Panduan ini menyediakan teknik T-SQL yang cekap untuk memudahkan proses ini.
Untuk menanyakan nilai daripada lajur XML (cth., "Peranan"), gunakan sintaks ini:
<code class="language-sql">SELECT Roles FROM MyTable WHERE Roles.value('(/root/role)[1]', 'varchar(max)') LIKE 'StringToSearchFor'</code>
Ingat: Lajur bukan XML memerlukan penukaran sebelum membuat pertanyaan. Anda juga boleh menyasarkan atribut XML tertentu.
Pertimbangkan contoh XML ini:
<code class="language-xml"><utilities.codesystems.codesystemcodes ....="" code="0001F" codesystem="2" codetags="-19-" iid="107"></utilities.codesystems.codesystemcodes></code>
Pertanyaan ini mendapatkan semula baris yang CodeSystem
sama dengan '2':
<code class="language-sql">SELECT [data] FROM [dbo].[CodeSystemCodes_data] WHERE CAST([data] AS XML).value('(/Utilities.CodeSystems.CodeSystemCodes/@CodeSystem)[1]', 'varchar(max)') = '2'</code>
Pengendali CROSS APPLY
dengan cekap melelar melalui nod XML. Contoh ini mendapatkan semula semua peranan yang mengandungi 'ga':
<code class="language-sql">SELECT * FROM (SELECT pref.value('(text())[1]', 'varchar(32)') AS RoleName FROM MyTable CROSS APPLY Roles.nodes('/root/role') AS Roles(pref) ) AS Result WHERE RoleName LIKE '%ga%'</code>
Kaedah ini memperkasakan anda untuk membuat pertanyaan dan mengekstrak data secara berkesan daripada lajur XML Server SQL, memudahkan analisis dan pengurusan data yang canggih.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Data dengan Cekap daripada Lajur XML dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!