Trouvez des entiers correspondants dans JSON.
P粉252116587
P粉252116587 2023-07-25 08:47:02
0
1
469
<p>Je souhaite trouver 123 dans une chaîne JSON dans MySQL. </p><p>Voici ma requête : </p><p><br /></p> <pre class="brush:php;toolbar:false;">SELECT * DE `rapports` OÙ JSON_CONTAINS(json_data, 123, "$.respCode");</pre> <p>Lorsque j'exécute ce code, j'obtiens l'erreur suivante : </p> <blockquote> <pre class="brush:php;toolbar:false;">Code d'erreur : 3146. Type de données non valide pour les données JSON dans l'argument 1 de function json_contains ; une chaîne JSON ou un type JSON est requis 0,020 sec</pre> </blockquote> <p>Mon json ressemble à ceci dans la colonne json_data : </p> <pre class="lang-json Prettyprint-override"><code>{ "bla":"", "bla2":"", "bla3":"", "bla4":"", "respCode ":"123", "bla5": "" } </code></pre> <p>J'ai aussi essayé ceci</p> <p><code>WHERE JSON_UNQUOTE(JSON_EXTRACT('json_data', "$.respCode")) = '123'</code></p>
P粉252116587
P粉252116587

répondre à tous(1)
P粉617597173

Voici la syntaxe de la fonction MySQL JSON_CONTAINS() :

JSON_CONTAINS(target_json, candidate_json)
JSON_CONTAINS(target_json, candidate_json, path)

Vous pouvez l'essayer

SELECT * FROM `reports` 
WHERE JSON_CONTAINS(json_data, '{"respCode":"123"}');

Démo DB Fiddle

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!