Hallo,
komme nicht weiter mit einem Regulären Ausdruck für eine MySQL-Abfrage
ich will eine bestimmte Zahl unbekannter länge in einem String finden.
Der String könnte so aussehen:
100
45,100
45,100,1000
100,45
das Problem ist, die Zahl ist nicht immer und überall von nicht Alphanumerischen Zeichen umgeben und die Zahl hundert käme ja auch in 1000 vor.
([^0-9]{0,1})100([^0-9]{0,1}) - das funktioniert nicht weil ja wieder eine Zahl davor oder dahinter stehen könnte. Wenn die Zahl immer umschlossen wäre, wäre alles kein Problem, aber so komme ich nicht auf die Lösung.
ich könnte es auch in php lösen mit explode aber dann gibt es viel mehr Datenbankabfragen
wär super wenn jemand eine Lösung hätte
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: MySQL Regexp zahl finden
Möchtest du also überprüfen, ob der String eine bestimmte Zahl enthält? Dann so: FIND_IN_SET(100, spaltenname)
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!
Re: MySQL Regexp zahl finden
ach so, kannte ich gar nicht.
gibt es da nicht das Problem dass 100 auch in 1000 enthalten ist? blicke da im Manual nicht ganz durch
gibt es da nicht das Problem dass 100 auch in 1000 enthalten ist? blicke da im Manual nicht ganz durch
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: MySQL Regexp zahl finden
Nein, die Funktion ist genau für solche durch Komma getrennte Listen gedacht.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!
Re: MySQL Regexp zahl finden
ach so nur mit Komme. Aber genau das was ich brauche
besten Dank
besten Dank
Re: MySQL Regexp zahl finden
Nur so als Warnung: Das kann bei vielen Datensätzen (die z. B. auch durch Selfjoins "entstehen" können) zu Performanzproblemen führen. Wenn du komplizierte Abfragen und/oder viele Datensätze hast, arbeite lieber gleich mit richtigen Schlüsselspalten und Verknüpfungstabellen. (Bei XForm übernimmt das die Klasse be_manager_relation quasi automatisch.)
Re: MySQL Regexp zahl finden
Danke für den Hinweis. für diesen Fall hier sollte es aber gehen - denke wenn Tausend Datensätze rein kommen ist das schon viel