我有一个使用for xml explit返回XML结果的查询。

选择 ...
从 ...
按[BatchType!1!TypeName],[FormType!2!TypeName],标签,父级排序
对于xml显式的root('ClientImages')

但是结果列名称的名称有点像

是否可以更改列名?

[ANSWER]
我有几个嵌套的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

最佳答案

不,据我所知没有。 SQL Server Management Studio将为您的XML自动生成这样的名称。

您也许可以先将输出分配给XML变量,然后选择该输出以获得“nice”列名:

DECLARE @XmlResult XML

SELECT @XmlResult = ......
  FROM .......


SELECT @XmlResult

但是除此之外,我不知道有什么方法可以影响SSMS生成的列的名称。

马克

10-08 00:05