READTEXT (Transact-SQL)
Reads text, ntext, or image values from a text, ntext, or image column, starting from a specified offset and reading the specified number of bytes.
Important |
|---|
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use the SUBSTRING function instead. |
Use the TEXTPTR function to obtain a valid text_ptr value. TEXTPTR returns a pointer to the text, ntext, or image column in the specified row or to the text, ntext, or image column in the last row returned by the query if more than one row is returned. Because TEXTPTR returns a 16-byte binary string, we recommend declaring a local variable to hold the text pointer, and then use the variable with READTEXT. For more information about declaring a local variable, see DECLARE @local_variable (Transact-SQL).
In SQL Server, in-row text pointers may exist but may not be valid. For more information about the text in row option, see sp_tableoption (Transact-SQL). For more information about invalidating text pointers, see sp_invalidate_textptr (Transact-SQL).
The value of the @@TEXTSIZE function supersedes the size specified for READTEXT if it is less than the specified size for READTEXT. The @@TEXTSIZE function specifies the limit on the number of bytes of data to be returned set by the SET TEXTSIZE statement. For more information about how to set the session setting for TEXTSIZE, see SET TEXTSIZE (Transact-SQL).
The following example reads the second through twenty-sixth characters of the pr_info column in the pub_info table.
Note |
|---|
To run this example, you must install the pubs sample database. For information about how to install the pubs sample database, see Downloading Northwind and pubs Sample Databases. |
USE pubs;
GO
DECLARE @ptrval varbinary(16);
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'
READTEXT pub_info.pr_info @ptrval 1 25;
GO

Important