다음과 같은 XML 값이 있습니다.
<R>
<I>A</I>
<I>B</I>
<I>C</I>
...
</R>
모든 I
값 을 연결 하고 단일 문자열로 반환하려고합니다 ABC...
.
이제 XML을 파쇄하고 결과를 다시 노드리스 XML로 집계하여 결과에 적용 할 수 있음을 알고 .values('text()[1]', ...)
있습니다.
SELECT
(
SELECT
n.n.value('text()[1]', 'varchar(50)') AS [text()]
FROM
@MyXml.nodes('/R/I') AS n (n)
FOR XML
PATH (''),
TYPE
).value('text()[1]', 'varchar(50)')
;
그러나 XPath / XQuery 메서드를 사용하여 다음과 같이 모든 작업을 수행하고 싶습니다.
SELECT @MyXml. ? ( ? );
그런 방법이 있습니까?
이 방향으로 솔루션을 찾고있는 이유는 실제 XML에 다른 요소도 포함되어 있기 때문입니다.
<R>
<I>A</I>
<I>B</I>
<I>C</I>
...
<J>X</J>
<J>Y</J>
<J>Z</J>
...
</R>
그리고 난해한 스크립트를 사용하지 않고도 단일 문자열로 값을 I
단일 문자열로 추출 할 수 있기를 원합니다 J
.