Sdílet prostřednictvím


READTEXT (Transact-SQL)

platí pro: SQL Server Azure SQL DatabaseAzure SQL Managed Instance

Čtetextové, ntextové nebo obrazové hodnoty z textu,ntextu nebo obrázkového sloupce. Začíná číst z určeného offsetu a číst zadaný počet bajtů.

Důležité

Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Použijte místo toho funkci SUBSTRING .

Transact-SQL konvence syntaxe

Syntaxe

READTEXT { table.column text_ptr offset size } [ HOLDLOCK ]  

Arguments

stůl.sloupec
Je název tabulky a sloupce, ze kterého se čte. Názvy tabulek a sloupců musí splňovat pravidla pro identifikátory. Je nutné specifikovat názvy tabulek a sloupců; Nicméně zadání názvu databáze a jmen vlastníků je volitelné.

text_ptr
Je platný textový ukazatel. text_ptr musí být binární(16).

ofset
je počet bajtů, když jsou použity textové nebo obrazové datové typy. Může to být také počet bajtů znaků, kdy se ntext datový typ použije k přeskočení před zahájením čtení textu,obrázku nebo ntextu .

velikost je počet bajtů, když jsou použity textové nebo obrazové datové typy. Může to být také počet bajtů znaků, když se pro čtení dat používá ntextový datový typ. Pokud je velikost 0, čte se 4 KB dat.

HOLDLOCK
Způsobí, že textová hodnota je uzamčena pro čtení až do konce transakce. Jiní uživatelé mohou hodnotu přečíst, ale nemohou ji upravovat.

Poznámky

Použijte funkci TEXTPTR k získání platné hodnoty text_ptr . TEXTPTR vrací ukazatel na sloupec text,ntext nebo obrázek v daném řádku. TEXTPRT může také vrátit ukazatel nebo na text,ntextči obrazový sloupec v posledním řádku, který dotaz vrátí, pokud dotaz vrátí více než jeden řádek. Protože TEXTPTR vrací 16bajtový binární řetězec, doporučujeme deklarovat lokální proměnnou pro textový ukazatel a poté použít proměnnou s READTEXT. Pro více informací o deklaraci lokální proměnné viz DECLARE @local_variable (Transact-SQL).

V SQL Serveru mohou existovat textové ukazatele v řádku, ale nemusí být platné. Pro více informací o možnosti text in row viz sp_tableoption (Transact-SQL). Pro více informací o zneplatňování textových ukazatelů viz sp_invalidate_textptr (Transact-SQL).

Hodnota funkce @@TEXTSIZE převyšuje velikost specifikovanou pro READTEXT, pokud je menší než specifikovaná velikost pro READTEXT. Funkce @@TEXTSIZE specifikuje limit počtu vrácených datových bajtů, který je nastaven příkazem SET TEXTSIZE. Pro více informací o nastavení relace pro TEXTSIZE viz NASTAVIT TEXTSIZE (Transact-SQL).

Povolení

Oprávnění READTEXT jsou výchozí pro uživatele, kteří mají oprávnění SELECT v dané tabulce. Oprávnění jsou přenosná, když jsou přeneseny oprávnění SELECT.

Examples

Následující příklad čte druhý až dvacátý šestý znak pr_info sloupce v tabulce pub_info .

Poznámka:

Pro spuštění tohoto příkladu musíte nainstalovat databázi vzorků publikací .

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  

Viz také

@@TEXTSIZE (Transact-SQL)
AKTUALIZAČNÍ TEXT (Transact-SQL)
WRITETEXT (Transact-SQL)