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 |