Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:SQL Server
Azure SQL Managed Instance
Retourneert de waarde van de tekstwijzer die overeenkomt met een tekst-, ntekst- of afbeeldingskolom in varbinaire indeling. De opgehaalde waarde van de tekstpointer kan worden gebruikt in READTEXT-, WRITETEXT- en UPDATETEXT-instructies.
Belangrijk
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. Er is geen alternatieve functionaliteit beschikbaar.
              
              
              Transact-SQL syntaxis-conventies
Syntaxis
TEXTPTR ( column )  
Arguments
              kolom
Is de tekst-, ntekst- of afbeeldingskolom die wordt gebruikt.
Retourtypen
varbinary
Opmerkingen
Voor tabellen met tekst in rij retourneert TEXTPTR een greep voor de tekst die moet worden verwerkt. U kunt een geldige tekstpointer verkrijgen, zelfs als de tekstwaarde null is.
U kunt de functie TEXTPTR niet gebruiken voor kolommen met weergaven. U kunt deze alleen gebruiken voor kolommen met tabellen. Als u de functie TEXTPTR wilt gebruiken in een kolom van een weergave, moet u het compatibiliteitsniveau instellen op 80 met behulp van het compatibiliteitsniveau ALTER DATABASE. Als de tabel geen tekst in de rij bevat en als een tekst-, ntekst- of afbeeldingskolom niet is geïnitialiseerd door een UPDATETEXT-instructie, retourneert TEXTPTR een null-aanwijzer.
Gebruik TEXTVALID om te testen of er een tekstpointer bestaat. U kunt UPDATETEXT, WRITETEXT of READTEXT niet gebruiken zonder een geldige tekstwijzer.
Deze functies en instructies zijn ook handig wanneer u met tekst-, ntekst- en afbeeldingsgegevens werkt.
| Functie of instructie | Description | 
|---|---|
| PATINDEX('%pattern%' ,expression) | Retourneert de tekenpositie van een opgegeven tekenreeks in tekst - of ntekstkolommen . | 
| DATALENGTH(expressie) | Retourneert de lengte van gegevens in tekst-, ntekst- en afbeeldingskolommen . | 
| TEKST INSTELLEN | Retourneert de limiet in bytes van de tekst-, ntekst- of afbeeldingsgegevens die moeten worden geretourneerd met een SELECT-instructie. | 
| SUBTEKENREEKS (text_column, begin, lengte) | Retourneert een varchar-tekenreeks die is opgegeven door de opgegeven begin offset en lengte. De lengte moet kleiner zijn dan 8 kB. | 
Voorbeelden
Opmerking
Als u de volgende voorbeelden wilt uitvoeren, moet u de pubs-database installeren.
Eén. TEXTPTR gebruiken
In het volgende voorbeeld wordt de TEXTPTR functie gebruikt om de afbeeldingskolomlogo te zoeken die is New Moon Books gekoppeld aan de pub_info tabel van de pubs database. De tekstpointer wordt in een lokale variabele geplaatst @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. TEXTPTR gebruiken met tekst in rij
In SQL Server moet de tekstpointer in de rij worden gebruikt binnen een transactie, zoals wordt weergegeven in het volgende voorbeeld.
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. Tekstgegevens retourneren
In het volgende voorbeeld worden de pub_id kolom en de tekstpointer van 16 bytes van de pr_info kolom uit de pub_info tabel geselecteerd.
USE pubs;  
GO  
SELECT pub_id, TEXTPTR(pr_info)  
FROM pub_info  
ORDER BY pub_id;  
GO  
Hier is het resultatenoverzicht.
pub_id                                      
------ ----------------------------------   
0736   0x6c0000000000feffb801000001000100   
0877   0x6d0000000000feffb801000001000300   
1389   0x6e0000000000feffb801000001000500   
1622   0x700000000000feffb801000001000900   
1756   0x710000000000feffb801000001000b00   
9901   0x720000000000feffb801000001000d00   
9952   0x6f0000000000feffb801000001000700   
9999   0x730000000000feffb801000001000f00   
  
(8 row(s) affected)  
In het volgende voorbeeld ziet u hoe u de eerste 8000 bytes tekst retourneert zonder TEXTPTR te gebruiken.
USE pubs;  
GO  
SET TEXTSIZE 8000;  
SELECT pub_id, pr_info  
FROM pub_info  
ORDER BY pub_id;  
GO  
Hier is het resultatenoverzicht.
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. Specifieke tekstgegevens retourneren
In het volgende voorbeeld wordt de text kolom (pr_info) gevonden die is pub_id``0736 gekoppeld aan de pub_info tabel van de pubs database. De lokale variabele @valwordt eerst gede declareert. De tekstpointer (een lange binaire tekenreeks) wordt vervolgens in @val de READTEXT instructie geplaatst en opgegeven als een parameter. Dit retourneert 10 bytes vanaf de vijfde byte (verschuiving van 4).
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  
Hier is het resultatenoverzicht.
pr_info                                                                                                                                                                                                                                                           
-----------------------------------------------------------------------  
 is sample  
(1 row(s) affected)  
Zie ook
              DATALENGTH (Transact-SQL)
              PATINDEX (Transact-SQL)
              READTEXT (Transact-SQL)
              SET SMSIZE (Transact-SQL)
              UPDATETEXT (Transact-SQL)
              WRITETEXT (Transact-SQL)