PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : select abfrage



pr0gm4
04-09-2003, 16:09
Hallo,

ich habe in meiner db tabelle ein feld namens "text"
da steht so allerhand zeugs drin z.b.:
# 1. Eintrag


Dies ist ein Test
Das wars dann auch schon wieder.


#2. Eintrag


klicken Sie <a href="http://test.de">hier</a> um dahin zu gelangen


usw.

Jetzt will ich eine Datenbankabfrage machen die mit alle Eintraege zurueckliefert die das Wort "test" (case insesitiv) enhalten aber ~nicht~ einen Link darstellen.

also sowas in der art


select * from mytable where `text` regexp "[[:<:]]test[[:>:]]".


aber das liefert mir auch den 2. Eintrag zurueck (also den Link). Das soll so aber nicht sein.

Ich hoffe ihr koennt mit meiner Frage was anfangen ;) wenn nicht einfach nochmal nachhaken.

Danke schonmal fuer eure Hilfe.

Gruss
Jan

elrond
05-09-2003, 07:48
versuchs so:

select * from testac where txt regexp binary "test" and txt not regexp "<*[test]*>";

(funxt by meiner mysql 3.23)

Christoph
05-09-2003, 11:04
Was ist denn REGEXP für'n komischer Operator?
Der Operator laut SQL3-Standard dafür ist SIMILAR und
den kann man natürlich auch mit NOT verneinen.

elrond
05-09-2003, 11:07
wie sehr das einem Standard entspricht weiß ich nicht, mysql in der og. Version tut's so.