2016-11-10 321 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 –

相关问题