![](/img/trans.png)
[英]ntext/text/image datatypes in SQL server 2016 CTP 3
[英]SQL Server text, ntext, image data type problem
微软宣布:“将在未来版本的Microsoft SQL Server中删除ntext
, text
和image
数据类型。” 并建议改为使用nvarchar(max)
, varchar(max)
和varbinary(max)
。
我的问题:我的数据类型大于8 kb。 如何将此数据插入sql? 哪种数据类型可以解决我的问题?
nvarchar(max) , varchar(max)和varbinary(max)中的任何一个 。
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)
。
您可以使用nvarchar(max)
, varchar(max)
或varbinary(max)
如果插入大于8KB行限制的数据,则数据将在行外移动到ROW_OVERFLOW_DATA分配单元中的另一个页面。
以下MSDN文章更详细地解释了此过程。
我相信varchar(max)的最大值是2GB。
不要被“varchar”位混淆。
它基本上意味着您可以像在varchar(50) or
varchar(1000) or
varchar(8000)上一样使用varchar(max)
上的大多数函数。
所以你可以让varchar(50)
或varchar(1000)
达到varchar(8000)
但是为了存储更长的字符串你需要使用varchar(max)
。
“max”或“50”/“1000”/“8000”位仅确定内部存储+最大字符串长度。
当然,还有一些细微差别,例如索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.