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를"동일 이름 요소의 비율 속성의 값을 찾고 있어요. 이 경우 "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를 돌려줍니다. 몇 가지 경로를 시도했지만 그 중 어느 것도 내가 원하는 경로를 반환하지 않습니다. 누군가 내가 잘못하고있는 것을 지적 할 수 있습니까?
도움을 주시면 감사하겠습니다.