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 höher
Azure SQL-Datenbank
Azure SQL Managed Instance
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
Ist 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 kann STRING_ESCAPE nur die in der folgenden Tabelle aufgeführten Sonderzeichen im JSON-Format mit Escapezeichen versehen.
Sonderzeichen | Codierte Sequenz |
---|---|
Anführungszeichen (") | \" |
Umgekehrter Schrägstrich (\) | \\ |
Schrägstrich (/) | \/ |
Rückschritt | \b |
Seitenvorschub | \f |
Zeilenwechsel | \n |
Wagenrücklauf | \r |
Horizontaler Tabulator | \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') );