用于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
调用它,但请解释一下您真正想要的是什么,因为我认为设计中存在一些错误。。。