ホームページ > データベース > mysql チュートリアル > SQL クエリを使用して XML データから属性値を抽出するにはどうすればよいですか?

SQL クエリを使用して XML データから属性値を抽出するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-20 15:55:13
オリジナル
765 人が閲覧しました

How to Extract Attribute Values from XML Data using SQL Queries?

SQL で XML データから属性値を取得する

SQL データベースで XML データを操作する場合、多くの場合、特定の属性値を抽出する必要があります。たとえば、テーブルに格納されている次の XML ドキュメントについて考えてみましょう。

<email>
  <account language="en" ... />
</email>
ログイン後にコピー

言語属性の値を取得するには、SQL クエリで XQuery 式を使用できます。 XQuery は、XML ドキュメントに移動して情報を抽出するための強力な方法を提供します。

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

SELECT @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
ログイン後にコピー

このクエリは、value() 関数を使用して XQuery 式を評価し、指定された XPath 式に対応するノード値を返します。この場合、XPath 式 (/email/account/@lang)[1] は、XML ドキュメント内の account 要素の下にある最初の言語属性値を選択します。

あるいは、XML データが次のテーブル:

CREATE TABLE @t (m XML)
INSERT INTO @t VALUES
    ('<email><account language="en" /></email>'),
    ('<email><account language="fr" /></email>')
ログイン後にコピー

次のように相関サブクエリを使用して属性値を取得できます。

SELECT m.value('(/email/account/@language)[1]', 'nvarchar(max)')
FROM @t
ログイン後にコピー

これらの手法を使用すると、SQL クエリで XML データから属性値を効果的に取得できます。

以上がSQL クエリを使用して XML データから属性値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート