Mailinglisten-Archive |
>Ich stehe vor folgendem Problem: >Ich möchte, dass mysql mir einen text nach ganzen worten durchsucht. >Dazu hab' ich mir folgendes statement gebastelt: >SELECT * FROM table >WHERE column >RLIKE >'.*[[:<:]]wort1[[:>:]].*[[:<:]]wort2[[:>:]].*[[:<:]]wort3[[:>:]].*'; >Soweit so gut. >Wenn allerdings die drei worte in einer anderen reihenfolge vorkommen, >dann liefert RLIKE keinen Treffer. >Weiss jemand, wie ich das statement umbauen muss, >damit auch beliebige reihenfolgen der worte, zb. >"[...] wort2 [...] wort3 [...] wort1 [...]" >gefunden werden? Hi Bernhard, Wenn alle drei Worte vorkommen müssen: '.*[[:<:]](wort1[[:>:]].*[[:<:]]wort2[[:>:]].*[[:<:]]wort3|wort1[[ :>:]].*[[:<:]]wort3[[:>:]].*[[:<:]]wort2|wort2[[:>:]].*[[:<:]]wort 1[[:>:]].*[[:<:]]wort3|wort2[[:>:]].*[[:<:]]wort3[[:>:]].*[[:<:]]w ort1|wort3[[:>:]].*[[:<:]]wort1[[:>:]].*[[:<:]]wort2|wort3[[:>:]]. *[[:<:]]wort2[[:>:]].*[[:<:]]wort1)[[:>:]].*'; Das das perfomant ist wag ich aber zu bezweifeln ;-)) MfG Wolfgang -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive