Accéder au contenu principal
Documents
FonctionsExpressionsKeywordsDéclarationsClauses

Fonction MySQL JSON_UNQUOTE()

La fonction `JSON_UNQUOTE()` de MySQL est utilisée pour supprimer les guillemets extérieurs d'une chaîne JSON littérale. Il est particulièrement utile pour extraire et afficher des valeurs de chaînes JSON sans les guillemets qui les entourent.

Utilisation

La fonction `JSON_UNQUOTE()` est utilisée lorsque vous avez besoin de récupérer une chaîne JSON dans sa forme brute, sans les guillemets. Il est souvent appliqué lors du traitement de données JSON stockées dans des tableaux MySQL.

JSON_UNQUOTE(json_val)

Dans cette syntaxe, `json_val` représente la valeur de la chaîne JSON dont vous voulez retirer les guillemets.

Exemples

1. Dé-cotation de base d'une chaîne JSON

SELECT JSON_UNQUOTE('"Hello World"') AS result;

Cet exemple supprime les guillemets de la chaîne JSON littérale `"Hello World"`, ce qui donne la chaîne simple `Hello World`.

2. Déchiffrer une valeur JSON d'un tableau

SELECT JSON_UNQUOTE(json_column->'$.name') AS name
FROM my_table;

Dans cet exemple, la fonction `JSON_UNQUOTE()` est utilisée pour extraire et dé-citer le champ `name` d'un objet JSON stocké dans la colonne `json_column` de `my_table`. L'opérateur de flèche (`->`) est utilisé pour accéder à une expression de chemin JSON.

3. Gestion des données JSON imbriquées

SELECT JSON_UNQUOTE(json_column->'$.address.city') AS city
FROM my_table
WHERE JSON_UNQUOTE(json_column->'$.address.city') = 'New York';

Ici, `JSON_UNQUOTE()` est appliqué à un champ JSON imbriqué pour comparer et extraire les noms de ville sans guillemets, en filtrant spécifiquement pour `New York`.

Conseils et bonnes pratiques

  • Assurer la validité de l'entrée JSON. Passez des chaînes JSON valides à `JSON_UNQUOTE()` pour éviter des résultats inattendus ou des erreurs.
  • Valeurs JSON autres que des chaînes. Lorsque l'entrée n'est pas une chaîne JSON valide (par exemple, un nombre ou un booléen), `JSON_UNQUOTE()` renvoie la valeur telle quelle sans soulever d'erreur.
  • Gestion des erreurs. Si l'entrée est malformée ou n'est pas une chaîne JSON valide, `JSON_UNQUOTE()` peut retourner `NULL` ou soulever une erreur, en fonction de la version de MySQL.
  • A utiliser avec les fonctions JSON. Combinez `JSON_UNQUOTE()` avec d'autres fonctions JSON comme `JSON_EXTRACT()` pour une gestion JSON plus complexe.
  • Vérifier les valeurs NULL. Soyez prêt à gérer les résultats `NULL` si le chemin JSON en entrée n'existe pas ou si l'entrée est `NULL`.
  • Optimisez la lisibilité. Utilisez des alias pour clarifier l'objectif des valeurs non citées dans vos requêtes.
  • Compatibilité. Soyez conscient des différences potentielles de comportement entre les versions de MySQL et consultez la documentation pour les détails spécifiques à la version.

Fonctions connexes

  • JSON_EXTRACT(): Utilisez cette fonction pour extraire des données d'un document JSON.
  • JSON_SET(): Modifiez un document JSON en définissant de nouvelles valeurs.

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.
Commencez à apprendre gratuitement