STRING_ESCAPE (Transact-SQL)
S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL DatabaseAzure SQL Managed Instance
Échappe les caractères spéciaux dans les textes et retourne le texte avec des caractères d’échappement. STRING_ESCAPE est une fonction déterministe, introduite dans SQL Server 2016.
Conventions de la syntaxe Transact-SQL
Syntaxe
STRING_ESCAPE( text , type )
Arguments
text
Est une expressionnvarchar représentant l’objet qui doit être mis en échappement.
type
Règles d’échappement qui seront appliquées. La valeur prise en charge actuellement est 'json'
.
Types de retour
Texte nvarchar(max) avec caractères de contrôle et spéciaux d’échappement. Actuellement, STRING_ESCAPE peut uniquement échapper les caractères spéciaux JSON répertoriés dans les tableaux suivants.
Caractère spécial | Séquence codée |
---|---|
guillemets (") | \" |
Barre oblique inverse (\) | \\ |
Barre oblique (/) | \/ |
Retour arrière | \b |
Saut de page | \f |
Nouvelle ligne | \n |
Retour chariot | \r |
Tabulation horizontale | \t |
Caractère de contrôle | Séquence codée |
---|---|
CHAR(0) | \u0000 |
CHAR(1) | \u0001 |
... | ... |
CHAR(31) | \u001f |
Notes
Exemples
R. Échapper du texte selon les règles de mise en forme JSON
La requête suivante échappe les caractères spéciaux à l’aide des règles JSON et retourne le texte avec séquence d’échappement.
SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;
Voici le jeu de résultats obtenu.
escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t
B. Mettre en forme un objet JSON
La requête suivante crée un texte JSON à partir de variables numériques et de chaîne, et échappe les caractères JSON spéciaux dans les variables.
SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour