web-dev-qa-db-fra.com

MySQL 5.7 JSON_EXTRACT: comment supprimer les guillemets?

Autre que la manipulation de chaîne après chaque JSON_EXTRACT, existe-t-il un moyen plus simple ou plus correct de demander à JSON_EXTRACT de renvoyer la chaîne SANS les guillemets englobants?

Ou cette question devrait-elle être sur StachExchange?

9
Hvisage

Si vous avez MySQL 5.7.13 ou une version ultérieure, vous pouvez utiliser JSON_UNQUOTE() au lieu de JSON_EXTRACT() ou ->> au lieu de ->. Exemple:

SELECT field->>"$.foo.barr" FROM table;

15
Alex Markov

Je ne peux pas commenter la réponse d'Alex Markov car je n'ai pas assez de réputation. Dans mon cas, utiliser JSON_UNQUOTE au lieu de JSON_EXTRACT ne fonctionne pas, mais je peux obtenir le résultat en enveloppant le second à l'intérieur du premier, comme ceci: JSON_UNQUOTE (JSON_EXTRACT (bla bla))

1
Oriol Vilaseca