我在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>
答案 0 :(得分:0)
我通过
实现了上述目标DECLARE @var nvarchar(100)
SET @var='/Fields/Field1,/Fields/Field2'
DECLARE @sqlCommand varchar(1000)
SET @sqlCommand = 'SELECT PricingXml.query('''+@var+''') from MyTable'
EXEC (@sqlCommand)