V SQL Server T-SQL QUOTENAME()
funkce vrací řetězec Unicode s přidanými oddělovači, aby byl vstupní řetězec platným oddělovacím identifikátorem SQL Server.
Byl navržen pro citování databází a jejich objektů.
Funkce přijímá dva argumenty; vstupní řetězec (povinný) a oddělovací znak (volitelné).
Syntaxe
Syntaxe vypadá takto:
QUOTENAME ( 'character_string' [ , 'quote_character' ] )
Kde řetězec_znaků je vstupní řetězec a quote_character je volitelný argument k určení znaku, který se má použít jako oddělovač. Pokud je vynechán, použijí se jako oddělovač závorky.
Všimněte si, že řetězec_znaků je název systému a je omezena na 128 znaků. Vstupy delší než 128 znaků vrátí NULL
.
Platné oddělovače (pro volitelný quote_character argument) jsou:
`
(backtick)'
(jednoduché uvozovky)"
(dvojité uvozovky)[]
(levá nebo pravá závorka)()
(levá nebo pravá závorka)<>
(znaménko menší nebo větší než){}
(levá nebo pravá závorka)
Příklad 1 – Základní použití
Zde je příklad, jak to funguje:
SELECT QUOTENAME('cat[]dog') AS Result;
Výsledek:
+-------------+ | Result | |-------------| | [cat[]]dog] | +-------------+
Příklad 2 – Vlastní oddělovač
Zde je příklad zadání jiného oddělovače:
SELECT QUOTENAME('cat[]dog', '}') AS Result;
Výsledek:
+------------+ | Result | |------------| | {cat[]dog} | +------------+
A co se stane, když změníme střední závorky na složené závorky:
SELECT QUOTENAME('cat{}dog', '}') AS Result;
Výsledek:
+-------------+ | Result | |-------------| | {cat{}}dog} | +-------------+
Příklad 3 – Neplatný vstupní řetězec
Jak již bylo zmíněno, vstupní řetězec je sysname , a proto je omezena na 128 znaků. název systému je systémem dodaný uživatelsky definovaný datový typ, který je funkčně ekvivalentní nvarchar(128) , kromě toho, že není nulovatelný. název systému se používá k odkazování na názvy databázových objektů.
Co se stane, pokud je vstupní řetězec příliš dlouhý:
SELECT QUOTENAME('This text is too long to be an input string for this function, because it contains more than 128 characters - too long for sysname.') AS Result;
Výsledek:
+----------+ | Result | |----------| | NULL | +----------+
Příklad 4 – Neplatný oddělovač
Pokud zadáte neplatný oddělovač, stane se toto:
SELECT QUOTENAME('cat[]dog', '!') AS Result;
Výsledek:
+----------+ | Result | |----------| | NULL | +----------+