NVARCHAR在查询结果中被截断

时间:2019-06-12 08:10:19

标签: sql sql-server

数据库中有以下类型的列: 值(nvarchar(150),空)

数据来自C#-Web应用程序,用户在其中粘贴了很长的文本(它们是来自电子邮件的问题)。查询数据库时,我只能查看该文本的150个字符,并且可以在Web应用程序中看到整个内容。

如何编写可以获取所有查询的查询?我尝试将其强制转换为nvarchar(max),但这不起作用。我还检查了在“查询”选项中显示文本的限制,该限制设置为256。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

铸造还不够。您需要更改表中的列:

ALTER TABLE yourTable ALTER COLUMN Value NVARCHAR (MAX);

答案 1 :(得分:2)

因为您的列最多可以在该列中存储150个字符。

您需要将其更改为更大的缓冲区(也许是 " Michael Hartl " ?),然后就可以存储整个文本。

答案 2 :(得分:0)

您仅将150个字符存储到表的列中。 运行这个

ALTER TABLE yourTable ALTER COLUMN Value NVARCHAR (MAX);

从现在开始,它将最多2GB存储到该列中。

请注意,它不会恢复旧记录,但是新记录将完整存储。