为什么varchar的最大长度小于8,000字节?

Mar*_*n08 3 types stored-procedures sql-server-2005

所以我在SQLServer 2005数据库中有一个存储过程,该数据库从表中检索数据,将数据格式化为字符串并将其放入varchar(max)输出变量中.

但是,我注意到尽管len(s)报告字符串> 8,000,但我收到的实际字符串(通过SQLServer输出窗口)总是被截断为<8,000字节.

有谁知道这可能是什么原因?非常感谢.

Cly*_*yde 7

输出窗口本身很可能会截断您的数据.变量本身保存数据,但窗口仅显示前X个字符.

如果您要从例如.NET应用程序中读取该输出变量,您将看到完整的值.


Chr*_*fer 5

你在SQL Server Management Studio中谈论?如果是这样,有一些选项可以控制返回多少个字符(我只有2008在我面前,但设置在工具|选项|查询结果| SQL Server |结果到网格|检索的最大字符和结果到文本|每列中显示的最大字符数.