将SQL Server列中的XML解码为输出中的行

时间:2016-02-25 20:43:19

标签: sql-server xml

我以前从来没有真正在SQL Server中遇到过XML - 我觉得很迷人 - 而现在我正在自拔。有没有办法查询这些列并返回结果,就好像它们是单独的行一样?

以下是其中一行中其中一列中的数据示例...

<X C="0" I="1">
  <E D="1Y0M0W0D" P="0" A="0" />
  <E D="1Y0M0W0D" P="0" A="0.03" />
  <E D="1Y0M0W0D" P="0" A="0.03" />
  <E D="1Y0M0W0D" P="0" A="0.03" />
</X>

我想得到一些效果:

row1col1 row1col2 "1Y0M0W0D" "0" "0"
row1col1 row1col2 "1Y0M0W0D" "0" "0.03"
row1col1 row1col2 "1Y0M0W0D" "0" "0.03"

1 个答案:

答案 0 :(得分:1)

您可以在SQL中使用XML.nodes(...)来将XML作为记录集进行访问。如果数据是列而不是变量,则使用layout.css

CROSS APPLY [column].nodes(...)