Sdílet prostřednictvím


STRING_ESCAPE (Transact-SQL)

Platí na: SQL Server 2016 (13.x) a novější verze Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Umisí speciální znaky v textech a vrátí text s řídicími znaky. STRING_ESCAPE je deterministická funkce zavedená v SQL Serveru 2016.

Transact-SQL konvence syntaxe

Syntaxe

STRING_ESCAPE( text , type )  

Arguments

text
Je nvarcharvýraz představující objekt, který by měl být řídicí.

type
Pravidla pro zapouzdření, která se použijí. Aktuálně je 'json'podporovaná hodnota .

Návratové typy

nvarchar(max) text se speciálními a řídicími znaky. V současné době STRING_ESCAPE můžou řídicí znaky JSON pouze uvedené v následujících tabulkách.

Speciální znak Zakódovaná sekvence
Uvozovka (") \"
Obrácené solidus (\) \\
Solidus (/) \/
Klávesa Backspace \b
Podávání formuláře \f
Nový řádek \n
Návrat vozíku \r
Horizontální tabulátor \t
Řídicí znak Zakódovaná sekvence
ZNAK(0) \u0000
ZNAK(1) \u0001
... ...
ZNAK(31) \u001f

Poznámky

Examples

A. Řídicí text podle pravidel formátování JSON

Následující dotaz použije speciální znaky pomocí pravidel JSON a vrátí řídicí text.

SELECT STRING_ESCAPE('\   /  
\\    "     ', 'json') AS escapedText;  

Tady je soubor výsledků.

escapedText  
-------------------------------------------------------------  
\\\t\/\n\\\\\t\"\t

B. Formátování objektu JSON

Následující dotaz vytvoří text JSON z číselných a řetězcových proměnných a uchytá všechny speciální znaky JSON v proměnných.

SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
    17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );  

Viz také