使用 text、ntext 和 image 函数
以下函数仅用于对 text、ntext 和 image 数据执行操作。
TEXTPTR 返回一个包含指向 text、ntext 或 image 实例的指针的 binary(16) 对象。该指针在删除行之前一直有效。
TEXTVALID 函数用于检查指定的文本指针是否有效。
文本指针被传递到用于更改 text、ntext 和 image 数据的 READTEXT、UPDATETEXT、WRITETEXT、PATINDEX、DATALENGTH 和 SET TEXTSIZE Transact-SQL 语句。
在 Transact-SQL 语句中,text、ntext 和 image 数据始终是使用指针或数据地址进行引用的。
下面的示例使用 TEXTPTR 函数来定位与 pubs 数据库的 pub_info 表中的 pub_id0736 关联的 text 列 (pr_info)。该示例首先声明本地变量 @val。然后将文本指针(一个长二进制字符串)插入到 @val 中,并将其作为参数提供给 READTEXT 语句。将从第五个字节开始返回 10 个字节(偏移量为 4)。
注意 |
---|
若要运行此示例,必须安装 pubs 数据库。有关如何安装 pubs 数据库的信息,请参阅下载 Northwind 和 pubs 示例数据库。 |
USE pubs
DECLARE @val varbinary(16)
SELECT @val = TEXTPTR(pr_info) FROM pub_info
WHERE pub_id = '0736'
READTEXT pub_info.pr_info @val 4 10
下面是结果集:
(1 row(s) affected)
pr_info
----------------------------------------
is sample
支持使用 CAST 函数从 text 到 varchar、从 ntext 到 nvarchar 以及从 image 到 varbinary 或 binary 进行显式转换,但是 text 或 image 数据被截断为 8,000 个字节,ntext 数据被截断为 4,000 个字符(8,000 个字节)。不支持从 text、ntext 或 image 隐式或显式转换到其他数据类型。但是,可以执行 text、ntext, 或 image 数据的间接转换。例如:CAST( CAST( text_column_name AS varchar(10) ) AS int )。