Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server 2016 (13.x) und spätere Versionen
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Versieht Sonderzeichen in Texten mit Escapezeichen und gibt Text mit Escapezeichen zurück.
STRING_ESCAPE ist eine deterministische Funktion, die in SQL Server 2016 eingeführt wurde.
Transact-SQL-Syntaxkonventionen
Syntax
STRING_ESCAPE( text , type )
Argumente
text
Ein nvarchar-Ausdruck, der das Objekt darstellt, das escaped sein soll.
type
Versieht Regeln, die angewendet werden sollen, mit Escapezeichen. Der derzeit unterstützte Wert lautet 'json'.
Rückgabetypen
nvarchar(max)-Text mit Sonder- und Steuerzeichen, die mit Escapezeichen versehen sind.
Derzeit STRING_ESCAPE können in den folgenden Tabellen nur JSON-Sonderzeichen mit Escapezeichen versehen werden.
| Sonderzeichen | Codierte Sequenz |
|---|---|
Quotation mark (") |
\" |
Reverse solidus (\\) |
\\ |
Solidus (/) |
\/ |
Backspace |
\b |
Form feed |
\f |
New line |
\n |
Carriage return |
\r |
Horizontal tab |
\t |
| Steuerzeichen | Codierte Sequenz |
|---|---|
CHAR(0) |
\u0000 |
CHAR(1) |
\u0001 |
... |
... |
CHAR(31) |
\u001f |
Bemerkungen
Beispiele
A. Versehen von Text mit Escapezeichen entsprechend der JSON-Formatierungsregeln
Über die folgende Abfrage werden Sonderzeichen unter Verwendung von JSON-Regeln mit Escapezeichen versehen und mit Escapezeichen versehener Text zurückgegeben.
SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;
Hier sehen Sie das Ergebnis.
escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t
B. Formatieren eines JSON-Objekts
Über die folgende Abfrage wird aus Zahlen- und Zeichenfolgenvariablen JSON-Text erstellt und sämtliche Sonderzeichen im JSON-Format in Variablen mit Escapezeichen versehen.
SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );