SQLクエリで使用するためには、特定のXML要素の値を取得する必要があります。 XML要素は、その属性によって指定されます。SQL Server:属性を指定するXML要素の値を取得する方法は?
<translations>
<value lang="en-US">example</value>
<value lang="de-DE">Beispiel</value>
</translations>
と私は「EN-US」であることをLANGを指定したとき、私は探しています値は、「例」のようになります。
私のXML要素は次のようになります。
私はquery()関数とそれ以降value()関数を使用してこの値を取得する方法を見つけました。
declare @S varchar(max)
set @S =
'<translations>
<value lang="en-US">example</value>
<value lang="de-DE">Beispiel</value>
</translations>'
declare @X xml
set @X = CAST(@S as xml)
select @X.query('/translations/value[@lang="en-US"]').value('.','varchar(max)')
このselect文は、query()およびvalue()関数を使用して探している値 "example"を返します。しかし、value()またはquery()だけを使用するより便利な方法もありますか?
ありがとうございます!
ありがとうございました!それは私にとって大きな改善です! – bert