NVARCHAR(MAX)不能容纳50478个字符

时间:2015-06-01 09:02:04

标签: sql sql-server max nvarchar

我正在尝试在nvarchar(max)数据库字段中存储长度为50478个字符的字符串。根据{{​​3}},它告诉nvarchar(max)字段可以存储多达10亿个字符,但是当我尝试仅存储50478个字符时,sql会截断它们并且不存储完整的字符串。

如何解决这样的问题?

你认为这只是sql server管理工作室的打印问题吗?

1 个答案:

答案 0 :(得分:0)

您需要确保插入到字段中的数据也被强制转换为nvarchar,否则您将无法实现所需的内容。

以此为例:

Create table #temp (this nvarchar(max))

insert into #temp values (REPLICATE(cast('a' as nvarchar(max)), 50478))

Select this, Len(this) from #temp

drop table #temp

也可以在SQL Fiddle上查看:http://sqlfiddle.com/#!6/551f7/2/0