字符串或二进制数据将在select语句中被截断

时间:2015-05-30 06:30:53

标签: sql-server-2008

以下是我的查询执行后它抛出错误字符串或二进制数据将被截断。

Declare @mString Varchar(max)
Set @mString='Select ''Some text....'''-- (string length is greater than 42000)
exec(@mString)

2 个答案:

答案 0 :(得分:0)

尝试这是否有效?

声明@mString NVarchar(最大) 设置@ mString = N'选择''某些文字....''' - (字符串长度大于42000)

EXEC(@mString)

答案 1 :(得分:0)

可能SET语句中的表达限制存在问题。因此,您需要将部分表达式分成4000个字符,即如果您的表达式长度为4001字符,则应该:

declare @string nvarchar(max)

set @string = 'some text with 4000 chars length'
set @string = @string + 'text with 1 char length'

exec(@string)