Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2016 (13.x) e versioni
successive database SQL di Azure
AzureSQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL database in Microsoft Fabric
Aggiunge un carattere di escape prima di caratteri speciali nei testi e restituisce testo con caratteri preceduti da un carattere di escape.
STRING_ESCAPE è una funzione deterministica introdotta per la prima volta in SQL Server 2016.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
STRING_ESCAPE( text , type )
Argomenti
Testo
Espressionenvarchar che rappresenta l'oggetto di cui eseguire l'escape.
type
Regole di escape che verranno applicate. Il valore supportato è attualmente 'json'.
Tipi restituiti
Testo nvarchar (max) con caratteri speciali e di controllo preceduti da un carattere di escape.
Attualmente STRING_ESCAPE è possibile eseguire l'escape solo dei caratteri speciali JSON illustrati nelle tabelle seguenti.
| Carattere speciale | Sequenza codificata |
|---|---|
Quotation mark (") |
\" |
Reverse solidus (\\) |
\\ |
Solidus (/) |
\/ |
Backspace |
\b |
Form feed |
\f |
New line |
\n |
Carriage return |
\r |
Horizontal tab |
\t |
| Carattere di controllo | Sequenza codificata |
|---|---|
CHAR(0) |
\u0000 |
CHAR(1) |
\u0001 |
... |
... |
CHAR(31) |
\u001f |
Osservazioni:
Esempi
R. Aggiungere un carattere di escape al testo in base alle regole di formattazione JSON
La query seguente fa precedere da un carattere di escape i caratteri speciali mediante regole JSON e restituisce testo preceduto da un carattere di escape.
SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;
Il set di risultati è il seguente.
escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t
B. Formattare un oggetto JSON
La query seguente crea testo JSON da variabili di stringa e numero e aggiunge un carattere di escape prima di qualsiasi carattere speciale JSON nelle variabili.
SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );