Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
A szöveg, az ntext vagy a képoszlopnak megfelelő szövegmutató értékét adja vissza varbináris formátumban. A beolvasott szövegmutató értéke használható a READTEXT, a WRITETEXT és az UPDATETEXT utasításokban.
Fontos
Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Alternatív funkció nem érhető el.
Transact-SQL szintaxis konvenciók
Szemantika
TEXTPTR ( column )
Arguments
oszlop
A használni kívánt szöveg, ntext vagy képoszlop .
Visszatérési típusok
varbinary
Megjegyzések
Sorközi szöveggel rendelkező táblázatok esetén a TEXTPTR egy leírót ad vissza a feldolgozandó szöveghez. Érvényes szöveges mutatót akkor is beszerezhet, ha a szöveges érték null.
A TEXTPTR függvény nem használható a nézetek oszlopaihoz. Csak táblák oszlopaihoz használhatja. Ha a TEXTPTR függvényt egy nézet oszlopán szeretné használni, a kompatibilitási szintet 80-ra kell állítania az ALTER DATABASE kompatibilitási szintjének használatával. Ha a táblázat nem tartalmaz sorba írt szöveget, és ha a szöveg, az ntext vagy a képoszlop nem inicializálódott UPDATETEXT utasítással, akkor a TEXTPTR null mutatót ad vissza.
A TEXTVALID használatával tesztelje, hogy létezik-e szövegmutató. Az UPDATETEXT, a WRITETEXT vagy a READTEXT nem használható érvényes szövegmutató nélkül.
Ezek a függvények és utasítások akkor is hasznosak, ha szöveggel, szöveggel és képadatokkal dolgozik.
| Függvény vagy utasítás | Description |
|---|---|
| PATINDEX('%pattern%' ;kifejezés) | Egy adott karaktersztring karakterpozícióját adja vissza szöveg - vagy szövegoszlopokban . |
| DATALENGTH(kifejezés) | A szöveges, ntext- és képoszlopokban lévő adatok hosszát adja vissza. |
| SZÖVEGMÉRET BEÁLLÍTÁSA | A SELECT utasítással visszaadandó szöveges, ntext- vagy képadatok bájtban megadott korlátját adja vissza. |
| SUBSTRING(text_column, start, length) | A megadott kezdő eltolás és hossz által megadott varchar sztringet adja vissza. A hossznak 8 KB-nál kisebbnek kell lennie. |
Példák
Megjegyzés:
Az alábbi példák futtatásához telepítenie kell a pubok adatbázisát .
A. A TEXTPTR használata
Az alábbi példa a függvényt használja az TEXTPTR adatbázis táblájában pub_info társított New Moon Booksképoszloplogo megkeresésérepubs. A szövegmutató egy helyi változóba kerül @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. A TEXTPTR használata sorba írt szöveggel
Az SQL Serverben a soron belüli szövegmutatót egy tranzakción belül kell használni, ahogy az az alábbi példában is látható.
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. Szöveges adatok visszaadása
Az alábbi példa az pub_id oszlopot és az oszlop 16 bájtos szövegmutatóját pr_info választja ki a pub_info táblázatból.
USE pubs;
GO
SELECT pub_id, TEXTPTR(pr_info)
FROM pub_info
ORDER BY pub_id;
GO
Itt van az eredmények összessége.
pub_id
------ ----------------------------------
0736 0x6c0000000000feffb801000001000100
0877 0x6d0000000000feffb801000001000300
1389 0x6e0000000000feffb801000001000500
1622 0x700000000000feffb801000001000900
1756 0x710000000000feffb801000001000b00
9901 0x720000000000feffb801000001000d00
9952 0x6f0000000000feffb801000001000700
9999 0x730000000000feffb801000001000f00
(8 row(s) affected)
Az alábbi példa bemutatja, hogyan lehet visszaadni az első 8000 bájtnyi szöveget a TEXTPTR használata nélkül.
USE pubs;
GO
SET TEXTSIZE 8000;
SELECT pub_id, pr_info
FROM pub_info
ORDER BY pub_id;
GO
Itt van az eredmények összessége.
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. Adott szöveges adatok visszaadása
Az alábbi példa az text adatbázis táblájában pubspub_info található oszlopot (pr_info) pub_id``0736 keresi meg. Először deklarálja a helyi változót @val. A szövegmutató (hosszú bináris sztring) ezután az utasítás paramétereként READTEXT lesz elhelyezve @val és megadva. Ez 10 bájtot ad vissza az ötödik bájttól kezdve (4 bájt eltolása).
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
Itt van az eredmények összessége.
pr_info
-----------------------------------------------------------------------
is sample
(1 row(s) affected)
Lásd még:
DATALENGTH (Transact-SQL)
PATINDEX (Transact-SQL)
READTEXT (Transact-SQL)
SZÖVEGKÉSZLET BEÁLLÍTÁSA (Transact-SQL)
UPDATETEXT (Transact-SQL)
WRITETEXT (Transact-SQL)