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을 선언합니다. 그런 다음 long binary 문자열인 텍스트 포인터를 @val에 할당하고 READTEXT 문에 대한 매개 변수로 제공합니다. 그 결과로 5번째 바이트(오프셋 4)에서 시작하여 10바이트가 반환됩니다.

[!참고]

이 예를 실행하려면 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 )