Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengekstrak Data dengan Cekap daripada Lajur XML dalam Pelayan SQL?

Bagaimanakah Saya Boleh Mengekstrak Data dengan Cekap daripada Lajur XML dalam Pelayan SQL?

Linda Hamilton
Lepaskan: 2025-01-13 12:04:43
asal
697 orang telah melayarinya

How Can I Efficiently Extract Data from XML Columns in SQL Server?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan