Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于XML路径问题的SQL_Sql_Sql Server_Xml_For Xml - Fatal编程技术网

用于XML路径问题的SQL

用于XML路径问题的SQL,sql,sql-server,xml,for-xml,Sql,Sql Server,Xml,For Xml,我有这样的疑问: SELECT JOB_NUMBER AS 'Key' FROM table FOR XML PATH(''), Type 返回: <Key>ORC0023</Key><Key>ORC0045</Key> ORC0023ORC0045 我想做的是像这样返回它: <ORC0023></ORC0023><ORC0045></ORC0045> 如何执行此操作?由于您的输出将具有特

我有这样的疑问:

SELECT JOB_NUMBER AS 'Key' FROM table FOR XML PATH(''), Type
返回:

<Key>ORC0023</Key><Key>ORC0045</Key>
ORC0023ORC0045
我想做的是像这样返回它:

<ORC0023></ORC0023><ORC0045></ORC0045>


如何执行此操作?

由于您的输出将具有特殊字符
,因此您需要通过指定
类型
以xml形式返回结果,并使用
xquery
将其提取为字符串

declare @t table (job_number varchar(10))
insert into @t
select 'ORC0023' union all
select 'ORC0024' 

select
(
    select '<' + job_number + '></' + job_number + '>' 
    from @t
    for xml path(''), type
).value('/', 'varchar(max)')
declare@t表(作业号varchar(10))
插入@t
选择“ORC0023”联合所有
选择“ORC0024”
选择
(
选择“”
来自@t
对于xml路径(“”),键入
).value(“/”,“varchar(最大值)”

由于您的输出将具有特殊字符
,因此您需要通过指定
类型来将结果返回为xml,并使用
xquery
将其提取为字符串

declare @t table (job_number varchar(10))
insert into @t
select 'ORC0023' union all
select 'ORC0024' 

select
(
    select '<' + job_number + '></' + job_number + '>' 
    from @t
    for xml path(''), type
).value('/', 'varchar(max)')
declare@t表(作业号varchar(10))
插入@t
选择“ORC0023”联合所有
选择“ORC0024”
选择
(
选择“”
来自@t
对于xml路径(“”),键入
).value(“/”,“varchar(最大值)”

您真正想要实现的目标是什么?没有直接的方法来修改列名称。这意味着,您无法直接动态设置元素名称。您可以使用动态SQL并构建一个语句,然后用
EXEC
调用它,但请解释一下您真正想要的是什么……您真正想要实现的是什么?没有直接的方法来修改列名称。这意味着,您无法直接动态设置元素名称。您可以使用动态SQL并构建一个语句,然后用
EXEC
调用它,但请解释一下您真正想要的是什么,因为我认为设计中存在一些错误。。。