从SQL2000查询xml数据(xml直接保存在单元格中,多行)

时间:2009-10-30 02:19:29

标签: sql sql-server xml sql-server-2000 openxml

您好我从SQL2000服务器检索XML数据时遇到问题。

表结构如下:

ID   Name   XML
1    Name1  <Root><DATA1>1-Data1</DATA2><DATA1>1-Data2</DATA2></Root>
2    Name2  <Root><DATA1>2-Data1</DATA2><DATA1>2-Data2</DATA2></Root>
3    Name3  <Root><DATA1>3-Data1</DATA2><DATA1>3-Data2</DATA2></Root>

我怎样才能得到这样的结果:

ID   Name   Data1   Data2
1    Name1  1-Data1 1-Data2
2    Name2  2-Data1 2-Data2
3    Name3  3-Data1 3-Data2

我是新的SQL2000。在SQL2000中是否可以进行此类查询?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在SQL Server 2005及更高版本中,这根本不是问题 - 如果您的XML非常有效,那就是:

<Root> 
    <DATA1>1-Data1</DATA2>
    <DATA1>1-Data2</DATA2>
</Root>

你不能有<DATA1>的开始标记,然后是</DATA2>的结束标记 - 这不是格式良好的XML,也没有XML解析引擎能够处理它......

但SQL Server 2000 并不真正支持XML处理(它可以导入XML并吐出XML,但它无法真正处理它) - 我担心你已经不在了幸运的是2000版。