Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Funktionsweise der STRING_ESCAPE()-Funktion in SQL Server (T-SQL)

In SQL Server das T-SQL STRING_ESCAPE() Funktion maskiert Sonderzeichen in Texten und gibt den Text mit maskierten Zeichen zurück.

Beim Aufruf der Funktion geben Sie den Text und den Escape-Typ als Argumente an.

Syntax

Die Syntax lautet wie folgt:

STRING_ESCAPE( text , type )

Wobei text ist der Text, der alle zu maskierenden Zeichen enthält, und type bestimmt die anzuwendenden Escape-Regeln.

Derzeit der einzige unterstützte Wert für type Argument ist 'json' .

Beispiel 1 – Grundlegende Verwendung

Hier ist ein Beispiel dafür, wie es funktioniert:

SELECT STRING_ESCAPE('\', 'json') AS Result;

Ergebnis:

+----------+
| Result   |
|----------|
| \\       |
+----------+

Hier ist ein Beispiel, wo ein Schrägstrich maskiert wird:

SELECT STRING_ESCAPE('/', 'json') AS Result;

Ergebnis:

+----------+
| Result   |
|----------|
| \/       |
+----------+

Und hier ist ein Beispiel mit etwas mehr Text:

SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result;

Ergebnis:

+-----------------------------------+
| Result                            |
|-----------------------------------|
| Free beer\/wine with every lambo! |
+-----------------------------------+

Beispiel 2 – Ungültiger Typ

Zum Zeitpunkt des Schreibens der einzige unterstützte Wert für type Parameter ist 'json' . Folgendes passiert, wenn wir einen nicht unterstützten Wert angeben:

SELECT STRING_ESCAPE('\', 'oops') AS Result;

Ergebnis:

An invalid value was specified for argument 2.

Escapezeichen

Zum Zeitpunkt des Schreibens war der STRING_ESCAPE() Die Funktion kann nur die in der folgenden Tabelle aufgeführten JSON-Sonderzeichen maskieren:

Sonderzeichen Kodierte Sequenz
Anführungszeichen (") \"
Umgekehrter Solidus (\) \|
Solidus (/) \/
Rücktaste \b
Formular-Feed \f
Neue Zeile \n
Wagenrücklauf \r
Horizontaler Reiter \t
Steuerzeichen Kodierte Sequenz
CHAR(0) \u0000
CHAR(1) \u0001
CHAR(31) \u001f