Moin!
...manchmal hilft's scheinbar schon, wenn man einfach mal aufschreibt, welches Problem man hat ;) Ich hab' das ganze jetzt folgendermaßen gelöst:
"SELECT * FROM tabelle WHERE spalte REGEXP '1x2[^0-9]' OR '[^0-9]1x2'"
Kann mir kaum vorstellen, dass das schon die finale korrekte Lösung ist.
Wenn du nach "1x2" suchst, und ausschließen willst, dass vor der 1 noch Ziffern kommen, und auch nach der 2, dann ist das EIN regulärer Ausdruck für mich.
Und auch deine WHERE-Bedingung schaut extrem merkwürdig aus. Es gibt nämlich keine REGEXP-Verknüpfung mit OR. Das, was du da produziert hast, ist folgendes (geklammert zur Verdeutlichung):
(spalte REGEXP '1x2[^0-9]') OR ('[^0-9]1x2')
Also der Regex-Vergleich oder ein konstanter String. Wundert mich, dass das ohne Fehlermeldung durchgeht.
- Sven Rautenberg
"Love your nation - respect the others."