textptr (Transact-sql)

Döner metin işaretçisi değeri karşılık gelen bir text, ntext, ya imagesütununda varbinarybiçimi. Alınan metin işaretçisi değeri readtext, WRITETEXT ve updatetext deyimleri 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ı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

TEXTPTR ( column )

Bağımsız değişkenler

  • column
    İse text, ntext, ya imagekullanılacak sütun.

Dönüş Türleri

varbinary

Açıklamalar

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

De SQL Server 2005ve sonraki sürümleri, görünümler sütunları textptr işlevi kullanamazsınız. Yalnızca tabloları sütunlar üzerinde kullanabilirsiniz. Bir sütun görünümü textptr işlevi kullanmak için önce uyumluluk düzeyi 80 kullanarak ayarlamalısınız alter database uyumluluk düzeyi. Tablo satır metin yoksa ve eğer bir text, ntext, ya imagesütun updatetext deyimi tarafından başlatılmamış, textptr işlevi bir null işaretçi.

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

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

İşlev veya deyimi

Açıklama

PATINDEX('%pattern%' , expression)

' De belirtilen karakter dizesinin karakter konumunu verir textya ntextsütun.

VERIUZUNLUĞU(expression)

Veri uzunluğunu döndürür text, ntext, ve imagesütun.

SET TEXTSIZE

Sınırı, bayt cinsinden döndürür text, ntext, ya imageveri bir select deyimi ile iade edilecek.

SUBSTRING(text_column, start, length)

Döner bir varcharbelirtilen dize ile belirtilen startuzaklığı ve length. Uzunluğu az 8 kb olmalıdır.

Örnekler

[!NOT]

Aşağıdaki örneklerde çalıştırmak için önce yüklemeniz gerekir pub veritabanı.

A.textptr kullanma

Aşağıdaki örnek TEXTPTRfonksiyonu bulmak için Resim sütun logoile ilgili New Moon Booksde pub_infotablo pubsveritabanı. 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

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.textptr satır metin kullanma

De SQL Server, satır metin imleci hareket 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

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_idsütun ve 16 baytlık metin işaretçisi, pr_infosütundan pub_infotablosu.

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

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)

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

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

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)

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 textsütunu (pr_info) ile ilişkili pub_id 0736de pub_infotablo pubsveritabanı. İlk yerel değişken bildirir @val. Metin imleci (uzun ikili dize) sonra içine konur @valve parametre olarak verilen READTEXTdeyimi. Bu 10 beşinci bayt (konum 4) başlangıç 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

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)

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

Ayrıca bkz.

Başvuru

VERIUZUNLUĞU (Transact-sql)

PATINDEX (Transact-sql)

readtext (Transact-sql)

set TEXTSIZE (Transact-sql)

Metin ve resim işlevler (Transact-sql)

updatetext (Transact-sql)

WRITETEXT (Transact-sql)