Finden Sie passende Ganzzahlen in JSON.
P粉252116587
P粉252116587 2023-07-25 08:47:02
0
1
507
<p>Ich möchte 123 in einem JSON-String in MySQL finden. </p><p>Das ist meine Anfrage: </p><p><br /></p> <pre class="brush:php;toolbar:false;">SELECT * AUS „Berichte“. WHERE JSON_CONTAINS(json_data, 123, "$.respCode");</pre> <p>Wenn ich diesen Code ausführe, erhalte ich die folgende Fehlermeldung: </p> <blockquote> <pre class="brush:php;toolbar:false;">Fehlercode: 3146. Ungültiger Datentyp für JSON-Daten in Argument 1 bis Funktion json_contains; ein JSON-String oder JSON-Typ ist erforderlich. </blockquote> <p>Mein JSON sieht in der Spalte „json_data“ so aus: </p> <pre class="lang-json Prettyprint-override"><code>{ „bla“:“, „bla2“: „“, „bla3“: „“, „bla4“: „“, „respCode ::123, „bla5:“ } </code></pre> <p>Das habe ich auch versucht</p> <p><code>WHERE JSON_UNQUOTE(JSON_EXTRACT('json_data', "$.respCode")) = '123'</code></p>
P粉252116587
P粉252116587

Antworte allen(1)
P粉617597173

这是MySQL JSON_CONTAINS()函数的语法:

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

你可以试试

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

DB Fiddle Demo

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage