Autor |
Nachricht |
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst Mi 06.04.2005 10:23
Titel MySQL - Reg. Expressions im Query |
|
|
Hi Leute,
habe folgendes Problem.
In einem Feld in meiner Datenbank stehen mehrere ID's durch ein Trennzeichen(|) voneinander getrennt.
Der String könnte also beispielsweise so aussehen: "12|1243|45|8039|78"
Das Problem ist jetzt, dass der letzte Eintrag kein | hinten dran hat. Hinzukommt, dass wirklich nur genau die ID gefunden werden darf. Beispiel ist die 12, denn die kommt ja auch in 1245 vor -> LIKE %12% ist also nicht möglich
Nun hab ich folgende Quelle gefunden:
http://dev.mysql.com/doc/mysql/de/regexp.html
Leider bin ich wohl zu blöd für reguläre Ausdrücke und wie immer drückt die Zeit, kennt ihr ja
Hat jemand sowas schon mal gelöst?
Bitte um dringende Hilfe. Vielen Dank schon mal
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 06.04.2005 10:32
Titel
|
|
|
ich krieg bei sowas zwar immer das kotzen weil ich das gefühl
hab der threadstarter hat sich keinen fetzen nen gedanken ge-
macht, weil dann könnte der ja wenigstens seine versuche zeigen
und die könnte man korrigieren .. aber ne, is ja egal ..
spontan würd ich sagen:
mysql> select "10|11|12|20|120|999" REGEXP "|?12|?";
aber ich bin mir ziemlich sicher, dass du die | escapen musst,
oder sogar noch andere sachen damit anstellen darfst .. als
trennzeichen auch nicht wirklich so glücklich gewählt.
|
|
|
|
|
Anzeige
|
|
|
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst Mi 06.04.2005 10:43
Titel
|
|
|
dastef hat geschrieben: | ich krieg bei sowas zwar immer das kotzen weil ich das gefühl
hab der threadstarter hat sich keinen fetzen nen gedanken ge-
macht, weil dann könnte der ja wenigstens seine versuche zeigen
und die könnte man korrigieren .. aber ne, is ja egal ..
spontan würd ich sagen:
mysql> select "10|11|12|20|120|999" REGEXP "|?12|?";
aber ich bin mir ziemlich sicher, dass du die | escapen musst,
oder sogar noch andere sachen damit anstellen darfst .. als
trennzeichen auch nicht wirklich so glücklich gewählt. |
Hab halt vorher mit LIKE rumgekrebst und das hat nicht hingehauen.
Hab dann mit den REGEXP-teilen probiert, aber immer fehler bekommen.
Vielen Dank jedenfalls erstmal. Ich probier das mal aus
|
|
|
|
|
Eistee
Administrator
Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht:
|
Verfasst Mi 06.04.2005 11:13
Titel Re: MySQL - Reg. Expressions im Query |
|
|
WurstOderWas hat geschrieben: | In einem Feld in meiner Datenbank stehen mehrere ID's durch ein Trennzeichen(|) voneinander getrennt.
Der String könnte also beispielsweise so aussehen: "12|1243|45|8039|78"
|
Wer sowas macht kann auch gleich nen txt File statt ner Datenbank nehmen oder nochmal die SQL Basics wiederholen
|
|
|
|
|
oki
Dabei seit: 04.04.2005
Ort: Oberhausen
Alter: 41
Geschlecht:
|
Verfasst Mi 06.04.2005 11:37
Titel
|
|
|
http://tut.php-q.net/regex.html <--- lesen
und regex schreiben
aber eigendlich gehören leute mit so komischen einträgen in ner datenbank gesteinigt
|
|
|
|
|
metty
Dabei seit: 21.03.2005
Ort: Köln
Alter: 39
Geschlecht:
|
Verfasst Mi 06.04.2005 11:45
Titel
|
|
|
Warum hast du mehrere id's in einer Spalte. Das ist eigentlich genau das, was man bei MySQL nicht machen sollte.
Ich geb dir einen Tipp: Leg eine weitere Tabelle mit 2 Spalten und leg eine id in eine spalte und das womit du es zuordnest in die andere Spalte. Das ist nach der 3ten Normalform auf jedenfall korrekt.
Womit verknüpfst du die ids denn?
|
|
|
|
|
|
|
|
Ähnliche Themen |
[MySql]Lost connection to MySQL server during query
? mysql-query
[PHP]Problem mit MySQL-Query
[MySQL] SQL Query Frage
mysql-Query gesucht
[MySql]Problem mit Syntax in Query
|
|