Share via


TEXTPTR (Transact-SQL)

Karşılık gelen değeri verir (işaretçi metin bir text, ntext, veya image sütun varbinary biçimi. Alınan metin işaretçisi değeri READTEXT WRITETEXT ve UPDATETEXT tablolarda kullanılabilir.

Important noteImportant Note:

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. Diğer bir işlev kullanılamaz.

Topic link iconTransact-SQL sözdizimi kuralları

TEXTPTR ( column )

Bağımsız değişkenler

  • column
    Iş text, ntext, veya image kullanılacak olan sütun.

Dönüş Türleri

varbinary

Remarks

Içinde SQL Server 2005 ve sonraki sürümlerinde, satır içindeki metin, tablolar için TEXTPTR işlenecek metin için bir tanıtıcı döndürür. Metin değeri null olsa bile, geçerli bir metin işaretçisi edinebilirsiniz.

Içinde SQL Server 2005 ve sonraki sürümlerde, görünümleri sütunlarda TEXTPTR işlev kullanamazsınız. Bu tablo sütunlarından yalnızca kullanabilirsiniz.Bir görünümün sütun TEXTPTR işlevini kullanmak için uyumluluk düzey 80 kullanarak ayarlamanız gerekir ALTER DATABASE uyumluluk düzey.Tablo içinde satır metin yoksa ve, bir text, ntext, veya image Sütun bir UPDATETEXT beyannamenin başlatılmadı, bir boş işaretçi TEXTPTR döndürür.

TEXTVALID metin işaretçisi var olup olmadığını sınamak için kullanın.Geçerli metin işaretçi UPDATETEXT, WRITETEXT veya READTEXT kullanamazsınız.

Çalışırken bu işlevleri ve ifadeleri de kullanışlıdır text, ntext, ve image veri.

işlev veya deyim

Açıklama

PATINDEX('%pattern%' , expression)

' De belirtilen karakter dizesi karakter konumunu verir. text veya ntext sütunlar.

VERİUZUNLUĞU(expression)

Veri uzunluğu döndürür. text, ntext, ve image sütunlar.

küme textsize

Sınırı, bayt cinsinden verir text, ntext, veya image veri bir deyim döndürülür.

ALT DİZE(text_column, start, length)

Verir bir varchar Belirtilen tarafından belirtilen dize start Mahsup hesabı ve length. Uzunluğu 8 KB'den az olmalıdır.

Örnekler

Not

Aşağıdaki örnekler çalıştırmak için , yüklemeniz gereken Pubs veritabanıdır.Nasıl yükleneceği hakkında bilgi için Pubs Bkz: Northwind ve pubs örnek veritabanları karşıdan yükleniyor veritabanı

C.TEXTPTR kullanma

Aşağıdaki örnek TEXTPTR işlev bulmak için Görüntü sütun logo ilişkili New Moon Books içinde pub_info tablo, pubs Veritabanı. Metin işaretçisi, yerel bir değişken yerleştirilir @ptrval.

USE pubs
GO
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(logo) 
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id 
   AND p.pub_name = 'New Moon Books'
GO

b.Satır içindeki metinle TEXTPTR kullanma

Içinde SQL Server, satır içinde metin işaretçisi bir işlem içinde aşağıdaki örnekte gösterildiği gibi kullanılması gerekir.

CREATE TABLE t1 (c1 int, c2 text)
EXEC sp_tableoption 't1', 'text in row', 'on'
INSERT t1 VALUES ('1', 'This is text.')
GO
BEGIN TRAN
   DECLARE @ptrval VARBINARY(16)
   SELECT @ptrval = TEXTPTR(c2)
   FROM t1
   WHERE c1 = 1
   READTEXT t1.c2 @ptrval 0 1
COMMIT

c.Metin veri döndürme

Aşağıdaki örnek seçer pub_id sütun ve 16 baytlık metin işaretçisi, pr_info sütundan pub_info Tablo.

USE pubs
GO
SELECT pub_id, TEXTPTR(pr_info)
FROM pub_info
ORDER BY pub_id
GO

Here is the result set.

pub_id                                    
------ ---------------------------------- 
0736   0x6c0000000000feffb801000001000100 
0877   0x6d0000000000feffb801000001000300 
1389   0x6e0000000000feffb801000001000500 
1622   0x700000000000feffb801000001000900 
1756   0x710000000000feffb801000001000b00 
9901   0x720000000000feffb801000001000d00 
9952   0x6f0000000000feffb801000001000700 
9999   0x730000000000feffb801000001000f00 

(8 row(s) affected)

Aşağıdaki örnek, ilk almayı gösterir. 8000 bayt TEXTPTR kullanmadan metin.

USE pubs
GO
SET TEXTSIZE 8000
SELECT pub_id, pr_info
FROM pub_info
ORDER BY pub_id
GO

Here is the result set.

pub_id pr_info                                                                                                                                                                                                                                                         
------ -----------------------------------------------------------------
0736   New Moon Books (NMB) has just released another top ten publication. With the latest publication this makes NMB the hottest new publisher of the year!                                                                                                           
0877   This is sample text data for Binnet & Hardley, publisher 0877 in the pubs database. Binnet & Hardley is located in Washington, D.C.

This is sample text data for Binnet & Hardley, publisher 0877 in the pubs database. Binnet & Hardley is located in Washi 
1389   This is sample text data for Algodata Infosystems, publisher 1389 in the pubs database. Algodata Infosystems is located in Berkeley, California.

9999   This is sample text data for Lucerne Publishing, publisher 9999 in the pubs database. Lucerne publishing is located in Paris, France.

This is sample text data for Lucerne Publishing, publisher 9999 in the pubs database. Lucerne publishing is located in 

(8 row(s) affected)

d.Belirli bir metni sonuçlar veriyor

The following example locates the text column (pr_info) associated with pub_id0736 in the pub_info table of the pubs database.Yerel değişken, öncelikle bildirir @val. Metin işaretçisi (uzun ikili bir dize), sonra içine yerleştirilir @val ve parametre olarak READTEXT deyim. Bu işlem 10 beşinci bayt (ofset 4) başlayan bayt döndürür.

USE pubs
GO
DECLARE @val varbinary(16)
SELECT @val = TEXTPTR(pr_info) 
FROM pub_info
WHERE pub_id = '0736'
READTEXT pub_info.pr_info @val 4 10
GO

Here is the result set.

pr_info                                                                                                                                                                                                                                                         
-----------------------------------------------------------------------
 is sample
(1 row(s) affected)