小编典典

别名FOR XML PATH结果

sql

我想别名以下输出:

-- Test table with some rubbish data
DECLARE @Test TABLE
(
    Names [varchar](20)
)
INSERT INTO @Test
SELECT 'Simon'

-- Query returns but with XML_<GUID> alias
SELECT 
    Names
FROM 
    @Test t 
FOR XML PATH ('Test')

因此,为了代替参数,我想给它一个别名’Test’而不是XML_GUID的列标题。我似乎无法理解。有人知道吗?我尝试从此处跟踪以下示例:http
:
//social.msdn.microsoft.com/Forums/nl/sqlxml/thread/1605c722-6388-40ff-9ab5-a3817a1db81f,但我似乎无法让它返回。我总是遇到这样的错误:第1列没有名称。


阅读 159

收藏
2021-05-16

共1个答案

小编典典

使其成为子查询:

select (
SELECT 
    Names
FROM 
    @Test t 
FOR XML PATH ('Test'),TYPE) as Test

子查询产生值,但从不提供列名。我也指定了这个名称,,TYPE因为否则它会强制varchar(max)将结果转换为,而您可能想将其保留为xml

2021-05-16