0
OK,所以我想,爲了在SQL Server中使用它們的PIVOT從數據庫轉義特殊字符的SQL Server 2005在使用COALESCE
declare @selectlist varchar(max)
SELECT @selectlist = COALESCE(@selectlist + ',[' + listitem + ']','['+ listitem +']')
FROM (select distinct listitem from Project#lists where listitem <> '') X
ORDER BY listitem
合併一些記錄2005年的問題是,數據中有各種各樣的古怪...單引號,括號,%s,{'s和誰知道還有什麼。是否有一種簡單的方法來逃避它們,還是我必須替換所有東西?
(我想過寫一個裝配有一個正則表達式來做到這一點,但我把這個交給誰可能會或可能不會有需要/設置此客戶)
爲什麼你需要跳過單引號,百分號,大括號?如果您使用括號作爲分隔符,則只需要跳過右括號,並說任何其他字符都不是特殊的。或者你打算以某種方式使用結果,而你無法控制哪些字符意味着什麼?無可否認,我不熟悉你提到的關鍵點,但是看起來,它似乎根本不會拆分字符串,所以你必須意味着與我發現的不同。 – hvd
謝謝你的回答,hwd,但是因爲我只有2小時左右的經驗,所以你需要指定非數字值作爲數據透視表的列是充滿危險的......列名最大的那個是裸露的,沒有引用字符串(就像我習慣的那樣)。 – weloytty