Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server
Azure SQL Database
Azure 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 .
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)