首頁 > 資料庫 > mysql教程 > 如何使用 XQuery 從 SQL 中的 XML 資料中提取屬性值?

如何使用 XQuery 從 SQL 中的 XML 資料中提取屬性值?

DDD
發布: 2024-12-25 13:49:14
原創
785 人瀏覽過

How to Extract Attribute Values from XML Data in SQL Using XQuery?

SQL:從 XML 資料存取屬性值

在 SQL 中,可以透過 XQuery 存取 XML 資料類型中的屬性值。這使您可以有效率地查詢和操作 XML 資料。

要擷取提供的 XML 中 語言 屬性的值:

<email>
  <account language="en" ... />
</email>
登入後複製

您可以使用下列指令XQuery表達式:

(/email/account/@language)[1]
登入後複製

這個表達式指定:

  • (/email/account):選擇根email 元素中元素中的account 元素。
  • @language:擷取的值語言 屬性。
  • [1](可選):傳回第一個符合值,因為只有一個 語言 屬性。

要在SQL 語句中使用此表達式,您可以將查詢修改為如下所示:

SELECT m.Body.value('(/email/account/@language)[1]', 'nvarchar(max)')
FROM Mail
登入後複製

此查詢將以字串形式傳回語言 屬性的值。

範例:

declare @xml xml =
'<email>
  <account language="en" />
</email>'

select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
登入後複製

輸出:

en
登入後複製

您也可以使用XQuery 用於處理表中的 XML數據,如下例所示:

declare @t table (m xml)

insert @t values 
    ('<email><account language="en" /></email>'), 
    ('<email><account language="fr" /></email>')

select m.value('(/email/account/@language)[1]', 'nvarchar(max)')
from @t
登入後複製

輸出:

en
fr
登入後複製

以上是如何使用 XQuery 從 SQL 中的 XML 資料中提取屬性值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板