我有一个字段来存储一些数据,该字段声明为varchar(max)
。据我了解,这应该存储2^31 - 1
字符,但是当我输入一些超过8000个字符的内容时,它将切断其余字符。
我已经验证了所有数据都包含在我的更新语句中,并且该查询在其他任何地方都看起来不错,但是当我选择回退数据时,该查询已被切断。
当我在网站上显示数据时,以及使用SSMS时,数据都会被截断select content from table
。
select DATALENGTH (content) from table
回到8000。
我使用此设置数据:update table set content = 'my long content' where id = 1
。内容中确实包含很多HTML,但是我看不到这会引起问题。我可以看到我做的唯一的事情就是更换所有"
有''
,因为这是用户输入的内容(不记得我为什么现在)。
我确实设法通过删除内容中的所有单引号来使内容正确输入,所以我认为我的数据而不是数据库出现了一些奇怪的情况。
我应该对查询使用varchar(max)
字段做一些特殊的事情吗?
使用:SQL Server 2008(10.50)64位。