Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varcharnvarcharvarbinary 数据类型的存储能力。varchar(max)nvarchar(max)varbinary(max) 统称为大值数据类型。您可以使用大值数据类型来存储最大为 2^31-1 个字节的数据。
注意:
sp_tableoption 存储过程的 'large value types out of row' 选项设置为 OFF 时,大值类型的行内存储限制为 8000 个字节。当此选项设置为 ON 时,只在行内存储 16 字节的根。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。
大值数据类型在行为上和与之对应的较小的数据类型 varcharnvarcharvarbinary 相似。这种相似使 SQL Server 能够更高效地存储和检索大型字符、Unicode 和二进制数据。
有了大值数据类型,使用 SQL Server 的方式是使用早期版本的 SQL Server 中的 textntextp_w_picpath 数据类型所不可能具有的。例如,在 SQL Server 2005 中,您可以定义能存储大量数据(最多可达 2^31 字节的字符、整数和 Unicode 数据)的变量。有关详细信息,请参阅 Transact-SQL 变量。
下表说明了大值数据类型和 SQL Server 早期版本中与之对应的数据类型之间的关系。
大值数据类型 早期版本中的 LOB
varchar(max)
text*
nvarchar(max)
ntext*
varbinary(max)
p_w_picpath
* SQL Server  6.5 版本的客户端不支持 ntext 数据类型,因此无法识别 nvarchar(max)
重要提示:
请使用 varchar(max)nvarchar(max)varbinary(max) 数据类型,而不要使用 textntextp_w_picpath 数据类型。
大值数据类型在行为上和与之对应的较小的数据类型 varchar(n)nvarchar(n)varbinary(n) 相同。下面介绍大值数据类型在某些特定情形下的使用:
  • 游标
    由于可以定义大值数据类型变量,便可以将 FETCH 返回的大值数据类型列中的数据赋给本地变量。有关详细信息,请参阅 FETCH (Transact-SQL)。
    使用大值数据类型不影响游标的强制实施游标类型转换用法。
  • 成块更新
    UPDATE 语句现在支持 .WRITE( ) 子句对基础大值数据列进行部分更新。这类似于 SQL Server 早期版本中所支持的对 textntextp_w_picpath 数据类型的文本指针操作、WRITETEXT 和 UPDATETEX。有关详细信息,请参阅 UPDATE (Transact-SQL)。
  • 触发器
    支持对插入的删除的表中的大值数据类型列引用上使用 AFTER 触发器。有关详细信息,请参阅 CREATE TRIGGER (Transact-SQL)。
  • 字符串函数
    内置的可操作字符和二进制数据的字符串函数有所增强,可支持大值数据类型的参数。这些函数包括:

    • COL_LENGTH
    • CHARINDEX
    • PATINDEX
    • LEN
    • DATALENGTH
    • SUBSTRING

转载于:https://blog.51cto.com/zhangleiy/367109

使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型代替text、ntext 和 image 数据类型...相关推荐

  1. 关于varchar(max), nvarchar(max)和varbinary(max)

    在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max).nvarchar(max).varbinary(max) ).大值数据类型最多可以存储2^30-1个字节的数据. 这几 ...

  2. 了解SQLServer中varchar(max)、nvarchar(max)和varbinary(max)

    了解SQLServer中varchar(max).nvarchar(max)和varbinary(max) 转载于:http://www.poorren.com/sqlserver-2005-varc ...

  3. sql中NVARCHAR(MAX) 性能和占空间分析 varchar(n),nvarchar(n) 长度性能及所占空间分析

    sql中NVARCHAR(MAX) 性能和占空间分析 varchar(n),nvarchar(n) 长度性能及所占空间分析 观此文描述较为全面,故此转载.原地址: sql中NVARCHAR(MAX) ...

  4. SQL SERVER 2008中使用VARBINARY(MAX)进行二进制数据存取的实现方法

    在数据库应用项目开发中,经常会使用一些二进制的图像数据,存储和读取显示图像数据主要采用的是路径链接法和内存流法.路径链接法是将图像文件保存在固定的路径下,数据库中只存储图像文件的路径和名称,此方法数据 ...

  5. 3ds Max 2019 Essential Training 3ds Max 2019基本培训 Lynda课程中文字幕

    3ds Max 2019 Essential Training 中文字幕 3ds Max 2019基本培训 中文字幕3ds Max 2019 Essential Training 3ds Max以其建 ...

  6. 字符串(varchar)和二进制(varbinary)互转

    参考资料: 1.http://blog.sina.com.cn/s/blog_4d2d94f20100ldx6.html   2.http://blog.csdn.net/chelen_jak/art ...

  7. sql中varchar(n),nvarchar(n) 长度性能及所占空间分析

    sql中varchar(n),nvarchar(n) 长度性能及所占空间分析 1.varchar(n),nvarchar(n) 中的n怎么解释: nvarchar(n)最多能存n个字符,不区分中英文. ...

  8. SQL Server中的char,nchar,varchar和nvarchar有什么区别?

    nvarchar是什么意思? SQL Server中的char , nchar , varchar和nvarchar什么区别? #1楼 char :固定长度的字符数据,最大长度为8000个字符. nc ...

  9. 数据库中char varchar nchar nvarchar的区别

    数据库中char varchar nchar nvarchar的区别 我们在进行数据库的设计的时候,很多情况下表中的字段都是用的是字符串类型的数据,其中就有四种选择char varchar nchar ...

最新文章

  1. JS中的 generator
  2. 大牛告诉你,只有突破程序员思维,才不会沦为码农!
  3. linux下创建proc文件系统,[转载]Linux下的proc文件系统(转载)
  4. 【人物】徐磊:对用户驯养,只需要让用户记得你会给肉
  5. PHP向服务器错误记录、文件或远程目标发送一个错误
  6. HDU 5942 2016CCPC杭州 J: Just a Math Problem(莫比乌斯函数)
  7. 【图论】用匈牙利算法找女朋友(纯爱党的大胜利)
  8. 智能化弱电系统工程部分规程
  9. 拉格朗日插值法与牛顿插值法
  10. 当古典音乐遇上NFT
  11. 消息事件管理(游戏人工智能编程案例精粹)
  12. Android studio无法连接识别检测各种模拟器和手机的问题
  13. OSPF——基本概念2(多区域与Vlink)
  14. excel表格中单元格里面有个斜杠怎么写字?
  15. NSGA-II改进之种群初始化
  16. 原来漏斗分析应该这样用!
  17. JUnit 5 测试 Spring 引擎的时候提示 junit-vintage 错误
  18. CSUSTOJ 我爱吃烧烤 (状压dp)
  19. 从大数据征信看银行风控创新
  20. 少年宫计算机室管理制度,乡村学校少年宫计算机课程安排

热门文章

  1. 联想计算机BIOS启动顺序boot,如何进入BIOS并更改启动顺序?
  2. Dubbo服务端暴露全流程
  3. 分库分表解决方案之MyCat
  4. 如何对一个对象进行深拷贝
  5. 使用jxl来读取Excel中的数据
  6. SpringSecurity常用登录认证方案
  7. 参考信息 - 云原生(Cloud Native)
  8. 数学通大道,算法合自然?
  9. 关于webstorm链接不上SVN的解决办法
  10. 大屏监控系统实战(2)-后台工程搭建