我有很多(超過一千個地方)的傳統T-SQL
代碼,只能將INSERT
s轉換爲實用程序表中的varchar(8000)
列。我們的需求已經改變,現在這個專欄需要能夠處理更大的價值。因此我需要製作該列varchar(max)
。這只是一個簡單的數據列,其中沒有執行搜索,沒有索引,只有一個過程讀取它,它是INSERT
,忘記了應用程序(幾乎像日誌條目)。任何隱藏的陷阱將列從varchar(8000)更改爲varchar(max)?
我打算在實際上會生成更大數據的幾個地方進行更改,並且在處理此列的單個存儲過程中進行更改。
- 是否有任何隱藏的陷阱將一列從
varchar(8000)
更改爲varchar(max)
? - 將所有
T-SQL
字符串函數工作相同,LEN()
,RTRIM()
,SUBSTRING()
等 - 誰能想象任何理由,我不得不做出那個認爲列仍然是
varchar(8000)
代碼什麼變化?
你爲什麼不切換到文本列? – Maz 2010-06-29 14:26:08
@Max有些東西你不能在TEXT列上做,你可以在VARCHAR(MAX)上執行(比如DISTINCT查詢) – 2010-06-29 14:27:22
聚合函數和文本列雖然做得不太好...... – riffnl 2010-06-29 14:27:55