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

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Lee los valores text, ntext o image de una columna text, ntext o image.Reads text, ntext, or image values from a text, ntext, or image column. Comienza a leer desde un desplazamiento especificado el número de bytes definido.Starts reading from a specified offset and reading the specified number of bytes.

Importante

Esta característica está en modo de mantenimiento y es posible que no se incluya en una versión futura de Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use la función SUBSTRING en su lugar.Use the SUBSTRING function instead.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

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

ArgumentosArguments

table .table . columncolumn
Es el nombre de la tabla y de la columna donde se va a leer.Is the name of a table and column from which to read. Los nombres de tablas y columnas deben cumplir las reglas de los identificadores.Table and column names must fulfill the rules for identifiers. Es necesario especificar los nombres de la tabla y de la columna; sin embargo, es opcional especificar el nombre de la base de datos y del propietario.Specifying the table and column names is required; however, specifying the database name and owner names is optional.

text_ptrtext_ptr
Es un puntero de texto válido.Is a valid text pointer. text_ptr debe ser binary(16) .text_ptr must be binary(16).

offsetoffset
Es el número de bytes cuando se usan los tipos de datos text o image.Is the number of bytes when the text or image data types are used. Puede ser también el número de bytes de los caracteres cuando el tipo de datos ntext se usa para omitir los datos de text, image o ntext antes de comenzar a leerlos.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 es el número de bytes cuando se usan los tipos de datos text o image.size Is the number of bytes when the text or image data types are used. También puede ser el número de bytes de los caracteres cuando se usa el tipo de datos ntext para leer los datos.It can also be the number of bytes for characters when the ntext data type is used for data to read. Si size es 0, se leen 4 KB de datos.If size is 0, 4 KB of data is read.

HOLDLOCKHOLDLOCK
Hace que se bloquee el valor de texto para lectura hasta el final de la transacción.Causes the text value to be locked for reads until the end of the transaction. Otros usuarios pueden leer el valor, pero no pueden modificarlo.Other users can read the value, but they can't modify it.

NotasRemarks

Use la función TEXTPTR para obtener un valor text_ptr válido.Use the TEXTPTR function to obtain a valid text_ptr value. TEXTPTR devuelve un puntero a la columna text, ntext o image de la fila especificada.TEXTPTR returns a pointer to the text, ntext, or image column in the specified row. TEXTPRT también puede devolver un puntero a la columna text, ntext o image de la última fila que la consulta devuelve si esta devuelve más de una fila.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. Debido a que TEXTPTR devuelve una cadena binaria de 16 bytes, se recomienda declarar una variable local para que contenga el puntero de texto y, a continuación, utilizar la variable con 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. Para más información sobre la declaración de una variable local, vea DECLARE @local_variable (Transact-SQL).For more information about declaring a local variable, see DECLARE @local_variable (Transact-SQL).

En SQL ServerSQL Server, pueden existir punteros de texto consecutivos, aunque quizás no sean válidos.In SQL ServerSQL Server, in-row text pointers may exist but may not be valid. Para más información sobre la opción text in row, vea sp_tableoption (Transact-SQL).For more information about the text in row option, see sp_tableoption (Transact-SQL). Para más información sobre cómo invalidar punteros de texto, vea sp_invalidate_textptr (Transact-SQL).For more information about invalidating text pointers, see sp_invalidate_textptr (Transact-SQL).

El valor de la función @@TEXTSIZE reemplaza el tamaño especificado para READTEXT si es menor que este.The value of the @@TEXTSIZE function supersedes the size specified for READTEXT if it's less than the specified size for READTEXT. La función @@TEXTSIZE especifica el límite que establece la instrucción SET TEXTSIZE sobre el número de bytes de datos que se va a devolver.The @@TEXTSIZE function specifies the limit on the number of data bytes returned which is set by the SET TEXTSIZE statement. Para más información sobre cómo establecer la configuración de sesión para TEXTSIZE, vea SET TEXTSIZE (Transact-SQL).For more information about how to set the session setting for TEXTSIZE, see SET TEXTSIZE (Transact-SQL).

PermisosPermissions

Los permisos READTEXT se conceden de manera predeterminada a los usuarios con permisos SELECT para la tabla especificada.READTEXT permissions default to users that have SELECT permissions on the specified table. Los permisos se pueden transferir cuando se transfieren los permisos SELECT.Permissions are transferable when SELECT permissions are transferred.

EjemplosExamples

En el siguiente ejemplo se lee desde el segundo carácter hasta el 26 de la columna pr_info de la tabla pub_info.The following example reads the second through 26th characters of the pr_info column in the pub_info table.

Nota

Para ejecutar este ejemplo, es necesario instalar la base de datos de ejemplo 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  

Consulte tambiénSee Also

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