I SQL Server, T-SQL STRING_ESCAPE() funktion escapes specialtegn i tekster og returnerer teksten med escapede tegn.
Du angiver teksten og escape-typen som argumenter, når du kalder funktionen.
Syntaks
Syntaksen ser sådan ud:
STRING_ESCAPE( text , type )
Hvor tekst er den tekst, der indeholder tegn, der skal escapes, og type bestemmer, hvilke escape-regler der skal gælde.
I øjeblikket er den eneste værdi, der understøttes for typen argumentet er 'json' .
Eksempel 1 – Grundlæggende brug
Her er et eksempel på, hvordan det virker:
SELECT STRING_ESCAPE('\', 'json') AS Result; Resultat:
+----------+ | Result | |----------| | \\ | +----------+
Her er et eksempel, hvor en fremadgående skråstreg undslippes:
SELECT STRING_ESCAPE('/', 'json') AS Result; Resultat:
+----------+ | Result | |----------| | \/ | +----------+
Og her er et eksempel med lidt mere tekst:
SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result; Resultat:
+-----------------------------------+ | Result | |-----------------------------------| | Free beer\/wine with every lambo! | +-----------------------------------+
Eksempel 2 – Ugyldig type
I skrivende stund er den eneste værdi, der understøttes for typen parameteren er 'json' . Her er, hvad der sker, hvis vi leverer en ikke-understøttet værdi:
SELECT STRING_ESCAPE('\', 'oops') AS Result; Resultat:
An invalid value was specified for argument 2.
Undgåelige tegn
I skrivende stund er STRING_ESCAPE() funktion kan kun undslippe JSON-specialtegnene, der er angivet i følgende tabel:
| Specialkarakter | Kodet sekvens |
|---|---|
| Anførselstegn (") | \" |
| Omvendt solidus (\) | \| |
| Solidus (/) | \/ |
| Tilbage | \b |
| Formularfeed | \f |
| Ny linje | \n |
| Vogneretur | \r |
| Horisontal fane | \t |
| Kontroltegn | Kodet sekvens |
|---|---|
| CHAR(0) | \u0000 |
| CHAR(1) | \u0001 |
| ... | ... |
| CHAR(31) | \u001f |