제가XQuery를 사용하여 XML에서 행 목록으로 값 목록을 추출하는 방법은 무엇입니까?
DECLARE @x XML
SELECT @x = '<PartnerEmails>
<Email>[email protected]</Email>
<Email>[email protected]</Email>
</PartnerEmails>'
SELECT @x.query('data(PartnerEmails/Email)').value('.','varchar(100)') AS Val
실제 출력 아래 같은 XQuery를 가지고 두 틀어져
Val
[email protected] [email protected]
예상 출력
[email protected]
[email protected]
즉.
어떻게 그렇게합니까? 각 "행"그 테이블의 한 <Email>
을 포함 - 당신이 <PartnerEmails>
내부에 여러 개의 노드를 가지고 있기 때문에, 당신은 XML 조각의 "인라인"테이블을 만들 수 .nodes()
기능을 사용할 필요가
SELECT
node.value('.','varchar(100)') AS Val
FROM
@x.nodes('/PartnerEmails/Email') AS PE(Node)
:이
+1 훨씬 깨끗한 것 –