2016-11-10 317 views
-1

在SQL Server 2008中存儲長度爲10000的字符的數據類型,我嘗試使用VARCHAR(MAX)和nVARCHAR(MAX)都沒有幫助。 我在dynamicSP中聲明瞭一個輸出變量,我希望它的大小大於10k個字符。在SQL Server 2008中存儲長度爲10000的字符的數據類型

謝謝!

+4

VARCHAR(最大)和nvarchar(最大)容納多達2 GB的數據。這應該容易容納10000(甚至1000萬)字符。當你說它沒有幫助時,你是什麼意思? – Ash

+0

您也可以使用數據類型文本。 –

+1

@αNerd:***否***,請不要使用'ntext'(或'text')!將在未來的SQL Server版本中刪除'ntext','text'和'image'數據類型。避免在新的開發工作中使用這些數據類型,並計劃修改當前正在使用它們的應用程序。改爲使用'nvarchar(max)','varchar(max)'和'varbinary(max)'。 [詳細信息在這裏](http://msdn.microsoft.com/en-us/library/ms187993.aspx) –

回答

0

我們遇到了同樣的問題。我們的解決方案是將查詢作爲文本存儲在變量中。然後連接它們直到查詢結束。

實施例:

DECLARE @sql AS NVARCHAR(MAX) 

SET @sql = 'query here' 

@[email protected]+'query here' 

exec(@sql) 
+0

DECLARE「@sql」AS NVARCHAR(MAX) - >如果您觀察,我們再次將變量值限制爲nvarchar(MAX)即使我們連接,4k字符也不能解決我們的問題。如果我錯了,請糾正我。 –

+0

@PKernel'NVARCHAR(MAX)'不限於4Kb –

相關問題