我想在SQL Server中創建一個視圖,該視圖組合了多個數據庫元數據。元數據的從TSQL視圖中的數據行執行字符串連接(數據透視?)
其中的一塊,我想在sys.syscomments
表生活 - 在培訓相關列如下:
id colid text
---- ------ -------------
1001 1 A comment.
1002 1 This is a lo
1002 2 ng comment.
1003 1 This is an e
1003 2 ven longer c
1003 3 omment!
正如你可以看到在「文本」列中的數據,如果它通過拆分成多行最大長度(在SQL Server中爲8000字節/ 4000個字符,在我的示例中爲12個字符)。 colid
標識將文本組裝到一起的順序。
我想提出的查詢/子查詢在我看來,以重組從sys.syscomments表的意見,讓我有:
id comment (nvarchar(max))
---- ----------------------------------
1001 A comment.
1002 This is a long comment.
1003 This is an even longer comment!
任何建議或解決方案?速度沒有任何關鍵性,但簡單和低影響(我想避免CLR函數等 - 理想情況下整個事情將被包含在視圖定義中)。我研究了一些基於XML的建議,但結果產生了充滿XML轉義字符串的文本。
正如在問題中提到,我已經走了這條路線。結果是文本充斥着XMl轉義序列,從邏輯比較運算符到新行都有。這種亂碼輸出不適合進一步的操作,如LIKE搜索。 – David 2010-01-25 18:04:18
'@ David':查看帖子更新。 – Quassnoi 2010-01-25 18:14:34
謝謝。這更有幫助。 – David 2010-01-25 18:20:31