小编典典

MySQL XML查询

sql

我在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

有人可以帮我实现这一点..谢谢。


阅读 265

收藏
2021-03-23

共1个答案

小编典典

如果将子级更改为“ 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
2021-03-23