READTEXT (Transact-SQL)READTEXT (Transact-SQL)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL DatabaseПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database

Считывает значения text, ntext или image из столбцов text, ntext или image.Reads text, ntext, or image values from a text, ntext, or image column. Считывание начинается с указанной позиции и выполняется для указанного числа байтов.Starts reading from a specified offset and reading the specified number of bytes.

Важно!

В будущей версии Microsoft SQL Server этот компонент будет удален.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. Используйте вместо этого функцию SUBSTRING.Use the SUBSTRING function instead.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

READTEXT { table.column text_ptr offset size } [ HOLDLOCK ]  

Примечание

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

АргументыArguments

table .table . columncolumn
Имя таблицы и столбца, откуда должны быть считаны данные.Is the name of a table and column from which to read. Имена таблиц и столбцов должны соответствовать правилам для идентификаторов.Table and column names must fulfill the rules for identifiers. Указание имен таблицы и столбца обязательно; однако указание имени базы данных и имен владельца является необязательным.Specifying the table and column names is required; however, specifying the database name and owner names is optional.

text_ptrtext_ptr
Действительный текстовый указатель.Is a valid text pointer. Значение text_ptr должно иметь тип binary(16) .text_ptr must be binary(16).

offsetoffset
Это число байтов, если используется тип данных text или image.Is the number of bytes when the text or image data types are used. Это также может быть число символов, если используется тип данных ntext, которые следует пропустить, прежде чем приступить к чтению данных типа text, image или ntext.It can also be the number of bytes for characters when the ntext data type is used to skip before it starts to read the text, image, or ntext data.

size. Число байтов, если используется тип данных text или image.size Is the number of bytes when the text or image data types are used. Это также может быть число байтов для символов, если для чтения используется тип данных ntext.It can also be the number of bytes for characters when the ntext data type is used for data to read. Если для аргумента size указано значение 0, считывается 4 КБ данных.If size is 0, 4 KB of data is read.

HOLDLOCKHOLDLOCK
Вызывает блокировку считывания для текстового значения до окончания транзакции.Causes the text value to be locked for reads until the end of the transaction. Другие пользователи могут считывать значение, но не могут изменять его.Other users can read the value, but they can't modify it.

RemarksRemarks

Используйте функцию TEXTPTR, чтобы получить допустимое значение аргумента text_ptr.Use the TEXTPTR function to obtain a valid text_ptr value. TEXTPTR возвращает указатель в столбец text, ntext или image в указанной строке.TEXTPTR returns a pointer to the text, ntext, or image column in the specified row. TEXTPRT также может возвращать указатель в столбец text, ntext или image в последней строке, возвращаемой запросом, если возвращается более одной строки.TEXTPRT can also return a pointer or to the text, ntext, or image column in the last row that the query returns if the query returns more than one row. Поскольку TEXTPTR возвращает 16-байтовую двоичную строку, рекомендуется объявить локальную переменную для хранения текстового указателя, а затем использовать эту переменную с READTEXT.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. Дополнительные сведения об объявлении локальной переменной см. в статье DECLARE @local_variable (Transact-SQL).For more information about declaring a local variable, see DECLARE @local_variable (Transact-SQL).

В SQL ServerSQL Server внутристрочные текстовые указатели могут существовать, но при этом быть недействительными.In SQL ServerSQL Server, in-row text pointers may exist but may not be valid. Дополнительные сведения о параметре text in row см. в статье sp_tableoption (Transact-SQL).For more information about the text in row option, see sp_tableoption (Transact-SQL). Дополнительные сведения о допустимости текстовых указателей см. в статье sp_invalidate_textptr (Transact-SQL).For more information about invalidating text pointers, see sp_invalidate_textptr (Transact-SQL).

Значение функции @@TEXTSIZE переопределяет размер, указанный для READTEXT, если оно меньше размера, указанного для READTEXT.The value of the @@TEXTSIZE function supersedes the size specified for READTEXT if it's less than the specified size for READTEXT. Функция @@TEXTSIZE указывает предельное число возвращаемых байтов данных, устанавливаемое инструкцией SET TEXTSIZE.The @@TEXTSIZE function specifies the limit on the number of data bytes returned which is set by the SET TEXTSIZE statement. Дополнительные сведения о том, как задать значение TEXTSIZE для сеанса, см. в статье SET TEXTSIZE (Transact-SQL).For more information about how to set the session setting for TEXTSIZE, see SET TEXTSIZE (Transact-SQL).

РазрешенияPermissions

Разрешения READTEXT по умолчанию принадлежат пользователям, имеющим разрешения SELECT для указанной таблицы.READTEXT permissions default to users that have SELECT permissions on the specified table. Разрешения могут быть переданы при передаче разрешений SELECT.Permissions are transferable when SELECT permissions are transferred.

ПримерыExamples

В примере ниже считываются символы со второго по 26-й в столбце pr_info таблицы pub_info.The following example reads the second through 26th characters of the pr_info column in the pub_info table.

Примечание

Для выполнения этого примера необходимо установить образец базы данных pubs.To run this example, you must install the pubs sample database.

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  

См. также:See Also

@@TEXTSIZE (Transact-SQL) @@TEXTSIZE (Transact-SQL)
UPDATETEXT (Transact-SQL) UPDATETEXT (Transact-SQL)
WRITETEXT (Transact-SQL)WRITETEXT (Transact-SQL)