ホームページ > データベース > mysql チュートリアル > SQL で XML データから属性値を取得するにはどうすればよいですか?

SQL で XML データから属性値を取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-25 21:03:11
オリジナル
987 人が閲覧しました

How Can I Retrieve Attribute Values from XML Data in SQL?

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

SQL で XML データを操作する場合、多くの場合、特定の属性の値を抽出する必要があります。 。たとえば、次の XML から「言語」属性の値を取得する必要がある場合があります:

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

これを実現するには、XQuery 式を利用できます。 XQuery を使用して SQL クエリを修正したバージョンを次に示します。

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

このクエリでは、.value() 関数を使用して、「@xml」変数で表される XML ドキュメントをクエリします。 XQuery 式「/email/account/@ language」は目的の属性へのパスを指定し、「[1]」は最初 (唯一) 一致する属性の値を確実に取得します。

またはでは、次のテーブル式を使用して属性値を取得できます:

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
ログイン後にコピー

このアプローチは、属性値を取得するためのより簡潔でスケーラブルなソリューションを提供します。テーブル内の複数の XML ドキュメント。クエリの出力は次のようになります:

en
fr
ログイン後にコピー

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

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