在SQL 中從XML 資料取得屬性值
在資料庫表中處理XML 資料時,可能需要擷取下列值XML 內容中的特定屬性。一個可能的挑戰涉及當資料儲存為 XML 資料類型時提取屬性的值。
XML 資料格式
考慮儲存在資料庫中的以下XML 片段:
<email> <account language="en" ... /> </email>
查詢屬性
查詢屬性查詢屬性🎜>
要檢索「語言」屬性的值,您可以在SQL 語句中使用XQuery。 XQuery 是一種專門設計用於查詢和處理 XML 資料的 XML 查詢語言。
/email/account/@language
XQuery 表達式
以下XQuery 表達式從XML 資料:declare @xml xml = '<email> <account language="en" /> </email>' select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
SQL查詢🎜>將XQuery 表達式合併到SQL在查詢中,您可以獲得屬性值,如下所示:
其他範例insert @t values ('<email><account language="en" /></email>'), ('<email><account language="fr" /></email>')假設您有一個名為「@t」的表,其中包含多個XML rows:
select m.value('(/email/account/@language)[1]', 'nvarchar(max)') from @t
要從每一行中提取屬性值,您可以執行以下查詢:
輸出en fr上述查詢的輸出將是屬性值清單:
以上是如何使用 SQL 從 XML 資料中提取屬性值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!