본문 바로가기
MySql

MySQL XML 쿼리

by 베이스 공부 2021. 2. 6.
반응형

MySQL의 ExtractValue 함수에 문제가 있습니다.

다음은 샘플 XML입니다.

<As>
    <A>
        <B>Chan</B>
    </A>
    <A>
        <B>Shey</B>
    </A>
    <A>
        <B>Bob</B>
    </A>
</As>

내 현재 쿼리는 다음과 같습니다.

SELECT ExtractValue(@XML, '/As/A/B')

결과는 다음과 같습니다.

CHAN SHEY BOB

내가 원하는 것은 다음과 같습니다.

CHAN
SHEY
BOB

누군가가 이것을 달성하도록 도와주세요 .. 감사합니다.

 

해결 방법

 

이 문제에 대한 답변은 다음과 같습니다.


해당 문서의 솔루션은 자식을 "B"로 변경하면 작동합니다.

DECLARE i INT DEFAULT 1;
DECLARE count DEFAULT ExtractValue(xml, 'count(//child)');

WHILE i <= count DO
SELECT ExtractValue(xml, '//child[$i]');
SET i = i+1;
END WHILE

 

참조 페이지 https://stackoverflow.com/questions/11281436

 

 

반응형

댓글