【发布时间】:2014-05-15 16:50:18
【问题描述】:
我在sql中有如下查询
select PricingXML.query('/Fields/Field1,/Fields/Field2') from T_SMPricingData
PricingXML 是表 T_SMPricingData 中的一个 xml 列。
我需要将 xquery 从变量传递给查询,如下所示
declare @var nvarchar(100)
set @var='/Fields/Field1,/Fields/Field2'
select PricingXML.query('sql:variable("@var")') from T_SMPricingData
如何正确使用变量。它没有按预期的方式工作
编辑 我对原始正确查询的输出是
<Field1>10</Field1><Field2>11</Field2>
<Field1>20</Field1>
列中的数据看起来像
<Fields>
<Field1>20</Field1>
<Field3>22</Field3>
<Field4>23</Field4>
</Fields>
sql fiddle 的链接 http://www.sqlfiddle.com/#!3/12d7c/6/0
【问题讨论】:
-
我不是在寻找值,而是在寻找特定的节点。
-
能否从xml查询多个节点
-
但我得到了预期的结果,请参阅我的编辑
-
“未按预期方式工作”是一个非常糟糕的问题描述。实际上,您甚至没有描述预期的方式。请发布示例输入、当前和预期输出。当您使用 SQL Server 时,最好创建一个 SQLfiddle。
标签: sql-server xquery