Dans SQL Server, le STRING_ESCAPE()
de T-SQL la fonction échappe les caractères spéciaux dans les textes et renvoie le texte avec les caractères échappés.
Vous fournissez le texte et le type d'échappement comme arguments lors de l'appel de la fonction.
Syntaxe
La syntaxe ressemble à ceci :
STRING_ESCAPE( text , type )
Où texte est le texte qui contient tous les caractères à échapper, et type détermine les règles d'échappement à appliquer.
Actuellement, la seule valeur prise en charge pour le type l'argument est 'json'
.
Exemple 1 - Utilisation de base
Voici un exemple de son fonctionnement :
SELECT STRING_ESCAPE('\', 'json') AS Result;
Résultat :
+----------+ | Result | |----------| | \\ | +----------+
Voici un exemple où une barre oblique est échappée :
SELECT STRING_ESCAPE('/', 'json') AS Result;
Résultat :
+----------+ | Result | |----------| | \/ | +----------+
Et voici un exemple avec un peu plus de texte :
SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result;
Résultat :
+-----------------------------------+ | Result | |-----------------------------------| | Free beer\/wine with every lambo! | +-----------------------------------+
Exemple 2 – Type non valide
Au moment de la rédaction, la seule valeur prise en charge pour le type le paramètre est 'json'
. Voici ce qui se passe si nous fournissons une valeur non prise en charge :
SELECT STRING_ESCAPE('\', 'oops') AS Result;
Résultat :
An invalid value was specified for argument 2.
Caractères d'échappement
Au moment de la rédaction, le STRING_ESCAPE()
La fonction ne peut échapper que les caractères spéciaux JSON répertoriés dans le tableau suivant :
Caractère spécial | Séquence encodée |
---|---|
Guillemet ("") | \" |
Solidus inversé (\) | \| |
Solidus (/) | \/ |
Retour arrière | \b |
Saut de formulaire | \f |
Nouvelle ligne | \n |
Retour chariot | \r |
Onglet horizontal | \t |
Caractère de contrôle | Séquence encodée |
---|---|
CHAR(0) | \u0000 |
CAR(1) | \u0001 |
… | … |
CAR(31) | \u001f |