【发布时间】:2017-11-21 22:28:54
【问题描述】:
我正在尝试从 SQL Server 表中的字段中获取数据。它存储为 xml,我想在不同的行中获取每个节点值。 xml示例是这样的:
<id>{a75f61ce-6627-489f-83bb-d03fc880b764}</id>
<rows>
<row>
<columns>
<column name="ec_date" value="15-November-2017" type="System.DateTime" />
<column name="ec_amount" value="160" type="System.Decimal" />
<column name="ec_description" value="viaje en coche" type="System.String" />
<column name="ec_factura" value="0" type="System.String" />
<column name="ec_item" value="105.01" type="System.String" />
<column name="DefaultKey" value="1" type="System.Int32" />
</columns>
</row>
<row>
<columns>
<column name="ec_date" value="16-November-2017" type="System.DateTime" />
<column name="ec_amount" value="2.55" type="System.Decimal" />
<column name="ec_description" value="2 horas de parkin" type="System.String" />
<column name="ec_factura" value="0" type="System.String" />
<column name="ec_item" value="15.04" type="System.String" />
<column name="DefaultKey" value="2" type="System.Int32" />
</columns>
</row>
<row>
<columns>
<column name="ec_date" value="17-November-2017" type="System.DateTime" />
<column name="ec_amount" value="200" type="System.Decimal" />
<column name="ec_description" value="taxi a burgos" type="System.String" />
<column name="ec_factura" value="0" type="System.String" />
<column name="ec_item" value="15.06" type="System.String" />
<column name="DefaultKey" value="3" type="System.Int32" />
</columns>
</row>
</rows>
有人可以告诉我如何获取 sql 行中每个不同列值的
谢谢大家
【问题讨论】:
-
如果此 XML 的构造在您的控制之下,我强烈建议您使用 ISO8601 作为日期(
yyyy-MM-dd或yyyy-MM-ddTHH:mm:ss)。您的格式取决于文化和语言,可能会通过所有内部测试,但会因 December 与 Dezember 之类的微小差异而在客户的系统上中断
标签: sql sql-server xml