博客园  :: 首页  :: 联系 :: 管理

在以前的SQL Server版本中,Text,nText,image代表了大值数据类型,在2005中分别被varchar(max)、nvarchar(max) 和 varbinary(max) 替代。在未来的版本中WRITETEXT 等对大值数据类型操作的方法也被取消。
MSDN原文:

重要事项:
请使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型,而不要使用 text、ntext 和 image 数据类型。

重要事项:
后续版本的 Microsoft SQL Server 将删除该功能(指WRITETEXT ,UPDATETEXT 等方法)。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用大值数据类型以及 UPDATE 语句的 .WRITE 子句。

相应的 'large value types out of row' 也将被取消。

Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varchar、nvarchar 和 varbinary 数据类型的存储能力。varchar(max)、nvarchar(max) 和 varbinary(max) 统称为大值数据类型。您可以使用大值数据类型来存储最大为 2^31-1 个字节的数据。


WRITETEXT 是对 text、ntext 或 image 列执行最小日志记录的交互式更新,覆盖受其影响的列中的所有现有数据。

曾经需要使用的WRITETEXT 现在不需要了。只需要把相应的类型转换过来,就能和其它类型列一样使用了。

以前不能用SQL内置函数比如len统计text,ntext,image列的大小,现在内置的可操作字符和二进制数据的字符串函数有所增强,可支持大值数据类型的参数。这些函数包括:

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


    详细请查看原文
    使用大值数据类型

    WRITETEXT (Transact-SQL) 

    UPDATETEXT (Transact-SQL)