Aracılığıyla paylaş


textptr (Transact-SQL)

Karşılık gelen metin işaretçisi verir değeri bir text, ntext, veya image sütun varbinary biçimi.readtext, WRITETEXT ve updatetext deyimleri içinde alınan metin işaretçisi değeri kullanılır.

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.Alternatif işlevselliği kullanılamaz.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

TEXTPTR ( column )

Bağımsız değişkenler

  • column
    İş text, ntext, veya imagekullanılacak olansütun .

Dönüş Türleri

varbinary

Açıklamalar

De SQL Server 2005 ve satır metin, tablolar için sonraki sürümlerinde textptr İşlenecek metin için bir tanıtıcı döndürür.Metin değeri nullolsa bile, geçerli metin imleci edinebilirsiniz.

De SQL Server 2005 ve daha ileri sürümlerinde görünümleri sütunlarda textptr işlev kullanamazsınızYalnızca tabloları sütunlar üzerinde kullanılabilmesi için.Bir sütun görünüm textptr işlev kullanmak için küme 80 Uyumluluk düzey kullanarak gerekir alter database uyumluluk düzeyi.tablo içinde satır metin yoksa ve bir text, ntext, veya imagesütun updatetext deyimtarafından başlatılmamış, textptr işlevi null bir işaretçi.

TEXTVALID metin imleci var olup olmadığını sınamak için kullanın.updatetext ve WRITETEXT readtext geçerli metin imleci kullanamazsınız.

Çalışırken bu işlevleri ve deyimleri de yararlıdır text, ntext, ve image veri.

İşlev veya deyim

Açıklama

PATINDEX('%pattern%' , expression)

Belirtilen karakter dize karakter konumunu verir text veya ntext sütunlar.

VERİUZUNLUĞU(expression))

Verilerin uzunluğunu döndürür text, ntext, ve image sütunlar.

KÜMESİ METİN BOYUTU

Bayt sınırını, verir text, ntext, veya image bir select deyimdöndürülecek veri.

SUBSTRING(text_column, start, length)

Döndürür bir varcharbelirtilendize ile belirtilen start uzaklığı ve length.Uzunluğu 8 kb olmalıdır.

Örnekler

Not

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

A.textptr kullanma

Aşağıdaki örnek TEXTPTRbulmak içinişlev Görüntü sütun logo ile ilişkili New Moon Books , pub_infotablo pubs veritabanı. Metin imleci yerel değişken konur@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 textptr kullanma

De SQL Server, satır içindeki metin işaretçisi kullanılmalıdır bir hareket içinde gibi gösterildiği aşağıdaki örnek.

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ütun pub_info tablo.

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

Sonuç kümesi buradadır.

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 dönmek gösterilmiştir 8000 bayt metin kullanmadan textptr.

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

Sonuç kümesi buradadır.

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 veri döndürme

Aşağıdaki örnek bulur text sütun (pr_info) ile ilişkili pub_id0736 , pub_info tablo pubs veritabanı.Öncelikle yerel bir değişken bildirir @val.Metin işaretçisi (uzun ikili dize) sonra içine konur @val ve parametre olarak sağlanan READTEXT deyim.Bu beşinci bayt (ofset 4) başlayarak 10 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

Sonuç kümesi buradadır.

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