Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
Undflyr specialtecken i texter och returnerar text med undantagna tecken. STRING_ESCAPE är en deterministisk funktion som introducerades i SQL Server 2016.
Transact-SQL syntaxkonventioner
Syntax
STRING_ESCAPE( text , type )
Arguments
text
Är ett nvarchar-uttryck som representerar det objekt som ska undantagas.
type
Undantag från regler som ska tillämpas. Värdet som stöds är 'json'för närvarande .
Returtyper
nvarchar(max) text med undantagna specialtecken och kontrolltecken. För närvarande kan STRING_ESCAPE bara undkomma JSON-specialtecken som visas i följande tabeller.
| Specialtecken | Kodad sekvens |
|---|---|
| Citattecken (") | \" |
| Omvänd solidus (\) | \\ |
| Solidus (/) | \/ |
| Backstegstangent | \b |
| Formulärfeed | \f |
| Ny rad | \n |
| Vagnretur | \r |
| Horisontell tabb | \t |
| Kontrolltecken | Kodad sekvens |
|---|---|
| CHAR(0) | \u0000 |
| CHAR(1) | \u0001 |
| ... | ... |
| CHAR(31) | \u001f |
Anmärkningar
Examples
A. Escape-text enligt JSON-formateringsreglerna
Följande fråga undflyr specialtecken med hjälp av JSON-regler och returnerar undantagen text.
SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;
Här är resultatet.
escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t
B. Formatera JSON-objekt
Följande fråga skapar JSON-text från tal- och strängvariabler och undflyr alla särskilda JSON-tecken i variabler.
SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );