Mendapatkan Nilai Atribut daripada Data XML dalam SQL
Apabila bekerja dengan data XML dalam jadual pangkalan data, mungkin perlu mendapatkan semula nilai atribut khusus dalam kandungan XML. Satu cabaran yang mungkin melibatkan mengekstrak nilai atribut apabila data disimpan sebagai jenis data XML.
Format Data XML
Pertimbangkan coretan XML berikut yang disimpan dalam pangkalan data :
<email> <account language="en" ... /> </email>
Menyoal Atribut Nilai
Untuk mendapatkan semula nilai atribut "bahasa", anda boleh menggunakan XQuery dalam pernyataan SQL anda. XQuery ialah bahasa pertanyaan XML yang direka khusus untuk menanya dan memproses data XML.
Ekspresi XQuery
Ungkapan XQuery berikut mendapatkan semula nilai atribut "bahasa" daripada Data XML:
/email/account/@language
SQL Pertanyaan
Menggabungkan ungkapan XQuery ke dalam pertanyaan SQL anda, anda boleh mendapatkan nilai atribut seperti berikut:
declare @xml xml = '<email> <account language="en" /> </email>' select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
Contoh Tambahan
Katakan anda mempunyai jadual bernama "@t" yang mengandungi berbilang XML baris:
insert @t values ('<email><account language="en" /></email>'), ('<email><account language="fr" /></email>')
Untuk mengekstrak nilai atribut daripada setiap baris, anda boleh melaksanakan pertanyaan berikut:
select m.value('(/email/account/@language)[1]', 'nvarchar(max)') from @t
Output
The output pertanyaan di atas akan menjadi senarai nilai atribut:
en fr
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nilai Atribut daripada Data XML Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!