我想为以下输出添加别名:
-- 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列没有名称。
任何帮助表示感谢。
谢谢,
西蒙
答案 0 :(得分:13)
将其设为子查询:
select (
SELECT
Names
FROM
@Test t
FOR XML PATH ('Test'),TYPE) as Test
子查询生成值但从不为列提供名称。我还指定了,TYPE
,否则会强制转换为varchar(max)
结果,而您可能希望将其保留为xml
。