字符串或二进制数据将被截断:NVARCHAR(MAX),SQL Server 2008

时间:2011-04-27 15:33:00

标签: sql-server-2008

我有一个名为description的{​​{1}}类型列 - 您可以获得的最大值。我需要用它周围的引号返回这个字段,所以我正在尝试

NVARCHAR(MAX)

这不起作用 - 我得到“字符串或二进制数据会被截断错误。”

我的谷歌搜索告诉我这个问题可以通过使用SET ANSI_WARNINGS OFF解决,但如果我这样做,我仍然会得到相同的错误。

通常我只是将值拉入临时表并使用比我所引入的字段大两个字符的字段,从而确保SELECT QUOTENAME(description, '"') 函数不会导致任何问题。但是,如何使列大于MAX的两个字符?

1 个答案:

答案 0 :(得分:4)

QUOTENAME是一个用于处理包含SQL Server标识符名称的字符串的函数,因此仅适用于小于或等于sysname128 characters)长度的字符串。

为什么SELECT '"' + description +'"'不适合你?