2
對於SQL查詢中的用法,我需要獲取特定XML元素的值。 XML元素由其屬性指定。SQL Server:如何獲取指定屬性的XML元素的值?
我的XML元素看起來是這樣的:
<translations>
<value lang="en-US">example</value>
<value lang="de-DE">Beispiel</value>
</translations>
,當我指定郎是「EN-US」我正在尋找的價值將是「榜樣」。
我找到了一種方法,通過使用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