Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Läser text-, ntext- eller bildvärden från en kolumn för text, ntext eller bild . Börjar läsa från en specificerad offset och läser det angivna antalet byte.
Viktigt!
Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd istället SUBSTRING-funktionen .
Transact-SQL syntaxkonventioner
Syntax
READTEXT { table.column text_ptr offset size } [ HOLDLOCK ]
Arguments
bordet.spalt
Är namnet på en tabell och kolumn att läsa från. Tabell- och kolumnnamn måste uppfylla reglerna för identifierare. Att ange tabell- och kolumnnamn krävs; dock är det valfritt att ange databasens namn och ägarnamn.
text_ptr
Är en giltig textpekare.
text_ptr måste vara binär(16).
uppväga
Är antalet byte när text - eller bilddatatyper används. Det kan också vara antalet bytes för tecken när ntext-datatypen används för att hoppa över innan den börjar läsa text, bild eller ntext-data .
storlek Är antalet byte när text - eller bilddatatyper används. Det kan också vara antalet byte för tecken när ntext-datatypen används för data att läsa. Om storleken är 0 läses 4 KB data.
HOLDLOCK
Gör att textvärdet låses för läsningar tills transaktionen är slut. Andra användare kan läsa värdet, men de kan inte ändra det.
Anmärkningar
Använd funktionen TEXTPTR för att erhålla ett giltigt text_ptr-värde . TEXTPTR returnerar en pekare till kolumnen text, ntext eller bild i den angivna raden. TEXTPRT kan också returnera en pekare eller till kolumnen text, ntext eller bild i den sista raden som frågan returnerar om frågan returnerar mer än en rad. Eftersom TEXTPTR returnerar en 16-bytes binär sträng rekommenderar vi att man deklarerar en lokal variabel för att hålla textpekaren, och sedan använder variabeln med READTEXT. För mer information om deklaration av en lokal variabel, se DECLARE @local_variable (Transact-SQL).
I SQL Server kan textpekare i rad finnas men de kan vara ogiltiga. För mer information om alternativet text i rad , se sp_tableoption (Transact-SQL). För mer information om att ogiltigförklara textpekare, se sp_invalidate_textptr (Transact-SQL).
Värdet på @@TEXTSIZE funktionen överstiger den storlek som anges för READTEXT om den är mindre än den angivna storleken för READTEXT. Funktionen @@TEXTSIZE specificerar gränsen för antalet databyte som returneras, vilket sätts av satsen SET TEXTSIZE. För mer information om hur man ställer in sessionsinställningen för TEXTSIZE, se SET TEXTSIZE (Transact-SQL).
Permissions
READTEXT-behörigheter är som standard användare som har SELECT-behörigheter i den angivna tabellen. Behörigheter är överförbara när SELECT-behörigheter överförs.
Examples
Följande exempel läser den andra till 26:e tecknet i kolumnen pr_info i pub_info tabellen.
Anmärkning
För att köra detta exempel måste du installera pubs sample-databas.
USE pubs;
GO
DECLARE @ptrval VARBINARY(16);
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'
READTEXT pub_info.pr_info @ptrval 1 25;
GO
Se även
@@TEXTSIZE (Transact-SQL)
UPPDATERINGSTEXT (Transact-SQL)
WRITETEXT (Transact-SQL)