dan*_*die 8 xml sql t-sql sql-server
我有一个for xml explit用于返回XML结果的查询.
select ... from ... order by [BatchType!1!TypeName],[FormType!2!TypeName],Tag,Parent for xml explicit,root('ClientImages')
但是结果列名的名称就像是一样神秘

有没有办法更改列名?
[答案]
我有几个嵌套WITH语句,所以我保存了查询结果而没有应用FOR XML EXPLICIT到临时表@xmlTable,然后将XML EXPLICIT结果设置为XML然后返回它.
declare @xmlResult xml
set @xmlResult =(
select *
from @xmlTable
for xml explicit, root('ClientImages'))
select @xmlResult as XmlResult
Run Code Online (Sandbox Code Playgroud)
小智 17
- 添加一个select(第一个)和type(在结尾处),并作为[something]
select
(
select 1 as tag,
null as parent,
'algo' as [nodo!1!attr]
for xml explicit, type
) as [MyDesiredName]
不,据我所知,没有.SQL Server Management Studio将为您的XML自动生成此类名称.
您可以先将输出分配给XML变量,然后选择它以获得"漂亮"的列名:
DECLARE @XmlResult XML
SELECT @XmlResult = ......
FROM .......
SELECT @XmlResult
Run Code Online (Sandbox Code Playgroud)
但除此之外,我不知道有任何方法可以影响SSMS生成的列的名称.
渣
| 归档时间: |
|
| 查看次数: |
5667 次 |
| 最近记录: |