Je suis un débutant dans regexp et j'essayer de chercher du texte au format JSON, mais je ne peux pas le faire fonctionner à droite:MYSQL REGEXP recherche dans la chaîne JSON
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"')
Il me montre que le texte des résultats avec
"listeListeOuiNon":"1"
et
"listeListeOuiNon":"1,2"
et
"listeListeOuiNon":"0,1"
as expected
,
mais aussi "listeListeOuiNon":"2" (not expected)
Une idée? Peut-être parce que c'est gourmand, mais je ne suis pas sûr ...
Merci d'avance!
Juste un mot d'avertissement, MySQL est un REGEX * très * opération coûteuse. Il est souvent plus rapide de casser ce que vous pouvez en plusieurs déclarations LIKE si vous pouvez le balancer. Aussi, est-ce une requête courante ou le texte correspondant changera-t-il souvent? – Nick
oui je sais être comme plus rapide, mais en fait le texte correspondant change et l'essaye avec LIKE '' listeListeOuiNon ":"% 1% "'n'est pas mieux .. – mrflos
Pouvez-vous nous donner un exemple de ligne où" listeListeOuiNon ": "2" a été apparié? – Nick