小大飞 2021-12-31 18:14 采纳率: 50%
浏览 270
已结题

为什么sqlserver2012,varchar(max)、nvarchar(max)、text会截断只能存43690个字符?

问题遇到的现象和发生背景

我的sqlserver数据2012在存储请求数据时,数据长度自动截断也不报错。只能存43690个字符不知道什么原因。
我查了资料,varchar(max),最大可以存2的31次方-1个字符,相当于2GB,目前的数据远没有到2GB的数据,为什么存不进去呢?
可能的原因是什么?我应该去哪个方向排查呢?

问题相关代码,请勿粘贴截图
运行结果及报错内容

json内容被截断为 43690个字符。

我的解答思路和尝试过的方法

尝试了bing搜索查找,varchar(max)最大容量2GB.

我想要达到的结果

可以存储完整字符。大概有43690+30000个字符。

  • 写回答

1条回答 默认 最新

  • 关注

    如果是存储文件一般不能使用varchar,用text类型可以达到4G大小。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月13日
  • 已采纳回答 1月5日
  • 创建了问题 12月31日