sql >> Database >  >> RDS >> Sqlserver

Hoe de STRING_ESCAPE()-functie werkt in SQL Server (T-SQL)

In SQL Server is de T-SQL STRING_ESCAPE() functie ontsnapt aan speciale tekens in teksten en retourneert de tekst met escapetekens.

Je geeft de tekst en het escape-type op als argumenten bij het aanroepen van de functie.

Syntaxis

De syntaxis gaat als volgt:

STRING_ESCAPE( text , type )

Waar tekst is de tekst die alle tekens bevat die moeten worden escaped, en type bepaalt welke ontsnappingsregels van toepassing zijn.

Momenteel is de enige waarde die wordt ondersteund voor het type argument is 'json' .

Voorbeeld 1 – Basisgebruik

Hier is een voorbeeld van hoe het werkt:

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

Resultaat:

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

Hier is een voorbeeld waarbij een schuine streep wordt ontsnapt:

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

Resultaat:

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

En hier is een voorbeeld met wat meer tekst:

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

Resultaat:

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

Voorbeeld 2 – Ongeldig type

Op het moment van schrijven is de enige waarde die wordt ondersteund voor het type parameter is 'json' . Dit is wat er gebeurt als we een niet-ondersteunde waarde leveren:

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

Resultaat:

An invalid value was specified for argument 2.

Ontsnapbare tekens

Op het moment van schrijven is de STRING_ESCAPE() functie kan alleen ontsnappen aan de speciale JSON-tekens in de volgende tabel:

Speciaal teken Gecodeerde reeks
Aanhalingsteken (") \"
Omgekeerde solidus (\) \|
Solidus (/) \/
Backspace \b
Formulierfeed \f
Nieuwe regel \n
Koetsretour \r
Horizontaal tabblad \t
Besturingsteken Gecodeerde reeks
CHAR(0) \u0000
CHAR(1) \u0001
CHAR(31) \u001f

  1. MySql gebruiken met Entity Framework 4 en de Code-First Development CTP

  2. Beste manier om afbeeldingen op te slaan die afkomstig zijn van de server in Android

  3. Retourneer alleen de numerieke waarden uit een PostgreSQL-databasekolom

  4. NLS_LOWER() Functie in Oracle