我对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有没有人能帮我实现这个目标..谢谢。
发布于 2012-07-01 19:16:32
您可能需要重新考虑您的数据库设计。关系数据库系统不支持一个字段中的多个值。ExtractValue是用来从字段中的XML数据中获取一个值的过滤器,而不是用来获取多行数据的。
您应该阅读有关数据库规范化的知识。所有表格应至少遵循first normal form (1NF),即每个字段中只有一个值。不满足1NF的表通常很难查询,因为一般的SQL和诸如MySQL之类的实现不会为您提供任何用于此类查询的好工具。
如果您仍然想处理您的非1NF表,我认为您可能需要从数据库中提取数据,并在应用程序代码中完成此工作。
https://stackoverflow.com/questions/11281436
复制相似问题