खैर, डिबग करना काफी आसान है:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
रिटर्न 0
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
रिटर्न 1
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
रिटर्न 1
तो आपके पक्ष में कुछ सही नहीं है... क्योंकि यह सिर्फ उन पंक्तियों को वापस नहीं कर सका जहां शरीर बराबर होता है "listeListeOuiNon":"2"
. लेकिन यह संभव है कि उस शरीर में इनमें से कई कथन हों, जैसे:
बॉडी => '"listeListeOuiNon":"1,2", "listeListeOuiNon":"2"'
तो आपको अपना रेगेक्सपी संशोधित करना होगा:
'^"listeListeOuiNon":".*1.*"$'
ठीक है, तो आपको अपनी क्वेरी को संशोधित करना होगा:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')