phpbar.de logo

Mailinglisten-Archive

mal was einfaches

mal was einfaches

Michael Motzkus mysql-de_(at)_lists.bttr.org
Mon, 11 Feb 2002 23:04:19 +0100


Hallo Norbert,

> zur Abwechslung mal eine einfache Frage:
> Wer koennte mir dies hier vervollstaendigen ?
> 
> SELECT text FFROM tabname WHERE (?)anzahl von '\n' in text(?) < 5;
> 
> Also alle Texte, die weniger als 5 LineBreaks beinhalten sind gefragt.
> 
> Waere echt super, wenn das jemand hinbekommt...
> 

Also ... ich habe gerade mal ne Stunde geblättert, und was Einfaches
scheint es nicht zu geben. Leider schweigst Du Dich ja immer darüber
aus, wofür Du das brauchst und wie "mission-critical" das Ganze ist.

Zwei Möglichkeiten fallen mir ein:

1. Möglichkeit:

Mehrere hintereinander geschaltete Abfragen dieser Art:

SELECT locate('\n',text,1) text from pfeiffer;

Dann bekommst Du die erste Position des Suchstrings. Dann führst Du die
gleiche Abfrage ausgehend von der gefundenen Position(+1) durch. Das
machst Du so lange, bis Du ein Ergebnis bekommst das 5 oder 0 ist. Ich
hab's ausprobiert, geht.


2. Möglichkeit:

Du holst dir die DS aus der Tabelle, die '\n' enthalten, zählst die dann
die Vorkommen im Ergebnis mit PHP durch und speicherst dann bspw. die ID
des Datensatzes, in dem das Vorkommen in der korrekten Menge vorkommt in
einem Array... Dann verarbeitest Du nur die weiter, die Du brauchen
kannst. 

Ich weiß, dass sich das nicht wirklich glücklich anhört, funktioniert
aber auf beide Arten. Vielleicht führt Dich aber auch der Ansatz einfach
in die richtige Richtung.

Ansonsten kannst Du ja warten, bis der allgemeine Winterschlaf vorbei
ist ;-). Kannst mir ja mal sagen, ob das für Dich brauchbar war.

Viele Grüße


Michael Motzkus

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive