Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
Varbinary biçimindeki bir metin, ntext veya görüntü sütununa karşılık gelen metin işaretçisi değerini döndürür. Alınan metin işaretçisi değeri READTEXT, WRITETEXT ve UPDATETEXT deyimlerinde kullanılabilir.
Önemli
Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Alternatif işlevsellik kullanılamaz.
Transact-SQL söz dizimi kuralları
Sözdizimi
TEXTPTR ( column )
Arguments
sütun
Kullanılacak metin, ntext veya görüntü sütunudur.
Dönüş Türleri
varbinary
Açıklamalar
Satır içi metin içeren tablolar için METNEÇEVİr işlevi, işlenecek metnin tutamacını döndürür. Metin değeri null olsa bile geçerli bir metin işaretçisi elde edebilirsiniz.
TEXTPTR işlevini görünüm sütunlarında kullanamazsınız. Bunu yalnızca tablo sütunlarında kullanabilirsiniz. TEXTPTR işlevini bir görünümün sütununda kullanmak için ALTER DATABASE Uyumluluk Düzeyi'ni kullanarak uyumluluk düzeyini 80 olarak ayarlamanız gerekir. Tabloda satır içi metin yoksa ve bir metin, ntext veya görüntü sütunu UPDATETEXT deyimi tarafından başlatılmadıysa, METNEÇEVİr işlevi null bir işaretçi döndürür.
Metin işaretçisi olup olmadığını test etmek için TEXTVALID kullanın. Geçerli bir metin işaretçisi olmadan UPDATETEXT, WRITETEXT veya READTEXT kullanamazsınız.
Bu işlevler ve deyimler metin, ntext ve görüntü verileriyle çalışırken de kullanışlıdır.
| İşlev veya deyim | Description |
|---|---|
| PATINDEX('%pattern%' ,expression) | Metin veyantext sütunlarında belirtilen karakter dizesinin karakter konumunu döndürür. |
| DATALENGTH(ifade) | Metin, ntext ve görüntü sütunlarındaki verilerin uzunluğunu döndürür. |
| METNEÇEVİr AYARLA | SELECT deyimiyle döndürülecek metin, ntext veya görüntü verilerinin bayt cinsinden sınırını döndürür. |
| ALT DIZE(text_column, başlangıç, uzunluk) | Belirtilen başlangıç uzaklığı ve uzunluğu tarafından belirtilen bir varchar dizesi döndürür. Uzunluk 8 KB'tan az olmalıdır. |
Örnekler
Uyarı
Aşağıdaki örnekleri çalıştırmak için pubs veritabanını yüklemeniz gerekir.
A. TEXTPTR kullanma
Aşağıdaki örnek, veritabanının TEXTPTR tablosunda pubs ilişkili New Moon Bookspub_infogörüntü sütununu logo bulmak için işlevini kullanır. Metin işaretçisi yerel bir değişkene 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çi metinle TEXTPTR kullanma
SQL Server'da, aşağıdaki örnekte gösterildiği gibi satır içi metin işaretçisi bir işlemin içinde kullanılmalıdır.
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 verilerini döndürme
Aşağıdaki örnek, tablodan pub_id sütunun sütununu ve 16 baytlık metin işaretçisini pr_infopub_info seçer.
USE pubs;
GO
SELECT pub_id, TEXTPTR(pr_info)
FROM pub_info
ORDER BY pub_id;
GO
Sonuç kümesi aşağıdadı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 örnekte TEXTPTR kullanılmadan metnin ilk 8000 baytlarının nasıl döndürüleceği gösterilmektedir.
USE pubs;
GO
SET TEXTSIZE 8000;
SELECT pub_id, pr_info
FROM pub_info
ORDER BY pub_id;
GO
Sonuç kümesi aşağıdadı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 metin verilerini döndürme
Aşağıdaki örnek, veritabanının text tablosunda pubs ilişkili pub_id``0736pub_info sütunu (pr_info) bulur. İlk olarak yerel değişkenini @valbildirir. Daha sonra metin işaretçisi (uzun ikili dize) içine @val konur ve deyiminin READTEXT parametresi olarak sağlanır. Bu, beşinci bayt (4 uzaklığı) ile başlayan 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 aşağıdadır.
pr_info
-----------------------------------------------------------------------
is sample
(1 row(s) affected)
Ayrıca Bkz.
DATALENGTH (Transact-SQL)
PATINDEX (Transact-SQL)
READTEXT (Transact-SQL)
METNEÇEVİr AYARLA (Transact-SQL)
UPDATETEXT (Transact-SQL)
WRITETEXT (Transact-SQL)