sql >> Databasteknik >  >> RDS >> Sqlserver

Hur STRING_ESCAPE()-funktionen fungerar i SQL Server (T-SQL)

I SQL Server, T-SQL STRING_ESCAPE() funktion escapes specialtecken i texter och returnerar texten med escaped tecken.

Du anger texten och escape-typen som argument när du anropar funktionen.

Syntax

Syntaxen ser ut så här:

STRING_ESCAPE( text , type )

Där text är texten som innehåller alla tecken som ska escapes och typ bestämmer vilka utrymningsregler som ska gälla.

För närvarande är det enda värdet som stöds för typen argumentet är 'json' .

Exempel 1 – Grundläggande användning

Här är ett exempel på hur det fungerar:

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

Resultat:

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

Här är ett exempel där ett snedstreck undviks:

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

Resultat:

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

Och här är ett exempel med lite mer text:

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

Resultat:

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

Exempel 2 – Ogiltig typ

I skrivande stund är det enda värdet som stöds för typen parametern är 'json' . Så här händer om vi tillhandahåller ett värde som inte stöds:

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

Resultat:

An invalid value was specified for argument 2.

Escapable Characters

I skrivande stund är STRING_ESCAPE() funktionen kan bara undkomma JSON-specialtecken som anges i följande tabell:

Specialkaraktär Kodad sekvens
citattecken (") \"
Omvänd solidus (\) \|
Solidus (/) \/
Backsteg \b
Formatflöde \f
Ny rad \n
Carriage return \r
Horisontell flik \t
Kontrollkaraktär Kodad sekvens
CHAR(0) \u0000
CHAR(1) \u0001
... ...
CHAR(31) \u001f

  1. Hur man skapar lagrade PL/SQL-procedurer med parametrar i Oracle-databasen

  2. Använder 'case expression kolumn' i where-satsen

  3. PostgreSQL date() med tidszon

  4. Plsql för att stava nummer (valuta) till italiensk valuta utan hårdkodat översättningsnummer