Usar las funciones text, ntext e image

Las siguientes funciones se utilizan exclusivamente para operaciones con datos text, ntext e image:

  • TEXTPTR devuelve un objeto binary(16) que incluye un puntero a una instancia text, ntext o image. El puntero es válido hasta que se elimina la fila.
  • La función TEXTVALID comprueba si un determinado puntero de texto es válido o no.

Los punteros de texto se pasan a las instrucciones READTEXT, UPDATETEXT, WRITETEXT, PATINDEX, DATALENGTH y SET TEXTSIZE Transact-SQL utilizadas para cambiar los datos de text, ntext e image.

En las instrucciones Transact-SQL, las referencias a los datos text, ntext e image se realizan siempre mediante punteros o la dirección de los datos.

El siguiente ejemplo utiliza la función TEXTPTR para ubicar la columna text (pr_info) asociada con pub_id``0736 en la tabla pub_info de la base de datos pubs. Primero se declara la variable local @val. El puntero de texto, una cadena binaria larga, se introduce en la variable @val y se suministra como parámetro en la instrucción READTEXT. El resultado devuelve 10 bytes empezando por el quinto (desplazamiento de 4).

[!NOTA] Para ejecutar este ejemplo es necesario instalar la base de datos pubs. Para obtener más información acerca de cómo instalar la base de datos pubs, vea Descargar las bases de datos de ejemplo Northwind y 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

Éste es el conjunto de resultados.

(1 row(s) affected)

pr_info
----------------------------------------
 is sample

Con la función CAST se admiten las conversiones explícitas realizadas desde los tipos de datos text a varchar, ntext a nvarchar e image a varbinary o binary, aunque los datos text o image se truncan a 8.000 bytes y los datos ntext se truncan a 4.000 caracteres (8.000 bytes). No se admite la conversión, implícita ni explícita, de text, ntext o image a otros tipos de datos. Sin embargo, sí puede realizarse una conversión indirecta de datos text, ntext, o image. Por ejemplo : CAST( CAST( text_column_name AS varchar(10) ) AS int ).

Vea también

Otros recursos

TEXTPTR (Transact-SQL)
TEXTVALID (Transact-SQL)
Funciones de texto e imagen (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005