2013-01-17 73 views
6

我想別名以下的輸出:走樣FOR XML PATH結果

-- 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') 

因此而不是XML_GUID的列標題我想給它說「測試」爲便於討論的別名。我似乎無法得到它。任何人都知道嗎?我嘗試了下面的例子:http://social.msdn.microsoft.com/Forums/nl/sqlxml/thread/1605c722-6388-40ff-9ab5-a3817a1db81f,但我似乎無法讓它返回。我總是遇到錯誤,說第1列沒有名字。

任何幫助表示讚賞。

感謝,

西蒙

回答

11

使它成爲一個子查詢:

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

子查詢產生的值,但從來沒有爲列提供一個名稱。我還指定了,TYPE,否則它會強制將結果轉換爲varchar(max),而您大概希望將其保留爲xml

+0

好人。謝謝。 –