使用变量作为xquery sql server 2005

浦那

我在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小提琴的链接http://www.sqlfiddle.com/#!3/12d7c/6/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)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server 2005按案例使用

来自分类Dev

加密SQL Server 2005

来自分类Dev

键值对XML(SQL Server 2005)

来自分类Dev

使用位数据类型列查询Sql Server 2005

来自分类Dev

使用查询SQL Server 2005选择DATEADD分钟

来自分类Dev

在SQL Server 2005中使用IF EXISTS时出错

来自分类Dev

使用查询SQL Server 2005选择DATEADD分钟

来自分类Dev

使用ASP Classic在SQL Server 2005中保存图像

来自分类Dev

使用位数据类型列查询Sql Server 2005

来自分类Dev

使用参数SQL Server 2005执行存储过程

来自分类Dev

执行递归SQL查询(SQL Server 2005)

来自分类Dev

如何使用PIVOT在SQL Server 2005中的动态列中声明变量

来自分类Dev

从SQL Server 2005迁移到SQL Server 2008:强制在表名之前使用架构名

来自分类Dev

SQL Server 2005查询使用?在SQL Server 2012中不起作用

来自分类Dev

从SQL Server 2005迁移到SQL Server 2008:强制在表名之前使用架构名

来自分类Dev

SQL Server 2005查询使用?在SQL Server 2012中不起作用

来自分类Dev

SQL Server 2005中的动态PIVOT

来自分类Dev

SQL Server 2005中的交叉联接值

来自分类Dev

错误脚本连接SQL SERVER 2005

来自分类Dev

SQL Server 2005数据库比较

来自分类Dev

根据先前的值更新SQL SERVER 2005

来自分类Dev

更改身份的增量值-SQL Server 2005

来自分类Dev

基于选择语句SQL Server 2005的更新

来自分类Dev

SQL Server 2005数据库比较

来自分类Dev

在SQL Server 2005中检索层次结构

来自分类Dev

在 SQL Server 2005 上执行 SSIS 包

来自分类Dev

SQL Server 2005 查询帮助(分组依据)

来自分类Dev

使用SET时,SQL Server 2005 T-SQL和PDO没有输出

来自分类Dev

使用VBScript从SQL 2005取值