微软宣布:“ntext, text, , 和 image 数据类型将在Microsoft SQL Server的未来版本中删除。”并建议使用 nvarchar(max), varchar(max), , 和 varbinary(max) 反而。

我的问题:我的数据类型大于8 kb。如何将这些数据插入SQL?哪种数据类型可以解决我的问题?

有关数据类型的MSDN文档

有帮助吗?

解决方案

任何 nvarchar(最大), varchar(最大), , 和 varbinary(最大).

NVARCHAR(MAX)和VARCHAR(MAX)用于文本信息(NVARCHAR具有UNICODE支持)。

Varbinary(Max)用于二进制数据(图像,文件等)。

在所有情况下,都记录在 MAX indicates that the maximum storage size is 2^31-1 bytes.

其他提示

如果是文本数据,则 varchar(max) 或者 nvarchar(max) (支持Unicode)。 Varchar(Max)的最大存储大小为2^31-1字节(参考.)

如果是二进制数据,请使用 varbinary(max).

不要被“ varchar”位混淆。

这基本上意味着您可以使用大多数功能 varchar(max) 就像您在Varchar(50)上一样orVarchar(1000)orVarchar(8000)`。

  • (最大)数据类型支持2^32-1字节
  • 非最大值类型最多支持8000个字节

所以你可以 varchar(50) 或者 varchar(1000) 取决于 varchar(8000) 但是对于存储更长的字符串,您会使用 varchar(max).

“最大”或“ 50”/“ 1000”/“ 8000”位简单地确定内部存储 +最大字符串长度。

当然,有一些小差异,例如索引。

你会使用 nvarchar(max), varchar(max) 或者 varbinary(max)

如果您插入大于8KB行限制的数据,则数据将在Row_overflow_data分配单元中的另一页外移动到另一页。

以下 MSDN文章 进一步详细说明此过程。

我相信Varchar(Max)的最大值是2GB。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top