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 |
---|
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. |
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)