在SQL server应用开发过程中,可能会遇到ntext、text 和 image 三种数据类型,这三种数据类型是做什么的,有什么区别呢?
下面表格从存储类型、存储数据的最大长度和存储大小三个维度展示三种数据类型之间的区别:
|
ntext |
text |
image |
存储类型 |
长度可变的 Unicode 数据 |
长度可变的非 Unicode 数据 |
长度可变的二进制数据 |
数据最大长度 |
字符串最大长度为 2^30 - 1 (1,073,741,823) 个字节 |
字符串最大长度为 2^31-1 (2,147,483,647) 个字节 |
0 到 2^31-1 (2,147,483,647) 个字节 |
存储大小 |
存储大小是所输入字符串长度的两倍(以字节为单位),最大为2G |
服务器代码页使用双字节字符时,最大存储为2G |
最大存储为2G |
需要特别注意的是,微软官方文档中已有重要提示:在SQL Server的未来版本中将删除 ntext、text 和 image 数据类型。所以在日常开发中避免使用这些数据类型,如果已经存在这三种数据类型的代码,需要考虑修改:
可以使用 nvarchar(max)、varchar(max) 和 varbinary(max) 对应替换 ntext、text 和 image 三种数据类型
定期更新,助您每天进步一点点!