2
我試圖將XML文件分解爲mssql數據庫(SQL Server 2008 R2)。我正在尋找一個特定元素值的屬性值。使用TSQL和XQuery解析XML - 獲取給定元素值的屬性值
文件的摘錄:
<company>
<names>
<name percent="6.55">Company X</name>
<name percent="4.99">Company Y</name>
<name percent="4.92">Company Z</name>
</names>
</company>
所以我在尋找其中名稱元素等於「公司Z」 name元素的百分比屬性的值。在這種情況下應該返回值「4.92」。
到目前爲止我已經想出了下面的代碼:
declare @xml xml
set @xml = N'
<company>
<names>
<name percent="6.55">Company X</name>
<name percent="4.99">Company Y</name>
<name percent="4.92">Company Z</name>
</names>
</company>'
select
@xml.value('(/company/names[name = "Company Z"]/@percent)[1]', 'decimal(8,5)') as Percentage
這將返回NULL。我嘗試了幾條路徑,但沒有一條返回正在查找的內容。有人能指出我做錯了什麼嗎?
任何幫助非常感謝!