V SQL Server T-SQL STRING_ESCAPE()
funkce uvozuje speciální znaky v textech a vrací text s uvozenými znaky.
Při volání funkce zadáte text a typ escape jako argumenty.
Syntaxe
Syntaxe vypadá takto:
STRING_ESCAPE( text , type )
Kde text je text, který obsahuje jakékoli znaky, které mají být escapovány, a type určuje úniková pravidla, která se mají použít.
V současnosti jediná podporovaná hodnota pro type argument je 'json'
.
Příklad 1 – Základní použití
Zde je příklad, jak to funguje:
SELECT STRING_ESCAPE('\', 'json') AS Result;
Výsledek:
+----------+ | Result | |----------| | \\ | +----------+
Zde je příklad, kdy je zakódováno lomítko:
SELECT STRING_ESCAPE('/', 'json') AS Result;
Výsledek:
+----------+ | Result | |----------| | \/ | +----------+
A zde je příklad s trochu větším textem:
SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result;
Výsledek:
+-----------------------------------+ | Result | |-----------------------------------| | Free beer\/wine with every lambo! | +-----------------------------------+
Příklad 2 – Neplatný typ
V době psaní byla jediná podporovaná hodnota pro type parametr je 'json'
. Pokud dodáme nepodporovanou hodnotu, stane se toto:
SELECT STRING_ESCAPE('\', 'oops') AS Result;
Výsledek:
An invalid value was specified for argument 2.
Escapovatelné znaky
V době psaní STRING_ESCAPE()
Funkce může uniknout pouze speciálním znakům JSON uvedeným v následující tabulce:
Zvláštní znak | Zakódovaná sekvence |
---|---|
Uvozovky (") | \" |
Obrácený solidus (\) | \| |
Solidus (/) | \/ |
Backspace | \b |
Zdroj formuláře | \f |
Nový řádek | \n |
Vrácení vozíku | \r |
Karta Horizontální | \t |
Řídící znak | Zakódovaná sekvence |
---|---|
CHAR(0) | \u0000 |
CHAR(1) | \u0001 |
… | … |
CHAR(31) | \u001f |