flo
08-11-2003, 13:40
gibt es so eine sql abfrage, die die datensätze nach der zeichenlänge eines feldes sortiert oder datensätze mit einer kürzeren zeichenlänge als z.B. 100 zeichen ausgibt?
Danke im Vorraus
flo
Danke im Vorraus
flo
| Zurück zum Forum |
|
Archiv verlassen und diese Seite im Standarddesign anzeigen : flo 08-11-2003, 13:40 gibt es so eine sql abfrage, die die datensätze nach der zeichenlänge eines feldes sortiert oder datensätze mit einer kürzeren zeichenlänge als z.B. 100 zeichen ausgibt? Danke im Vorraus flo Abraxax 08-11-2003, 13:43 verwende die stringfunktion zum ermitteln der länge ( LEN() könnte es sein ) , gibt ihr einen alias und sortiere danach. flo 08-11-2003, 13:50 So ist es gemeint? SELECT *, $laenge=LEN(text) FROM `tabelle` WHERE $laenge<='100' Funzt leider net :( Abraxax 08-11-2003, 13:55 huhu. du willst ein sql-statement machen. also musst du dich schon an den syntax halten :teach: SELECT *, LEN(text) laenge FROM tabelle HAVING laenge <= 100 SELECT *, LEN(text) laenge FROM tabelle ORDER BY laenge DESC LIMIT 10 flo 08-11-2003, 16:44 You have an error in your SQL syntax near '( text )laenge FROM tabelle HAVING laenge <= 100 LIMIT 0, 30' at line 1 :confused: mrhappiness 08-11-2003, 16:56 `text` oder die spalte umbenennen Abraxax 08-11-2003, 16:57 dann heisst die fkt evtl nicht LEN sondern anders. ein blick ins manual kann helfen. flo 08-11-2003, 17:28 An den Anführungszeichen kann es nicht liegen, und im mysql manual finde ich mich nicht zurecht ;( mrhappiness 08-11-2003, 17:33 Original geschrieben von flo An den Anführungszeichen kann es nicht liegenwarum nicht?und im mysql manual finde ich mich nicht zurechtpech gehabt ;) gib doch einfachmal len als suchbegriff ein, wo kommst du dann hin? flo 08-11-2003, 18:01 mit den Anführungszeichen hab ichs versucht, es ging nicht. Wenn ich len in die Suche eingebe, bekomm ich 9 ergebnisse und klicke eins an, dann bin ich genau so blöd wie vorher. nur diesmal hab ich gesehen, dss es da auch einen link zur zeichenkette gibt ... SELECT * , LENGTH( 'text' ) laenge FROM `tabelle` HAVING laenge <= 100 LIMIT 0 , 30 Problem, die zeichen werden trotzdem nicht gezählt, ich bekomme alle Datensätze aus der Datenbank als Ergebnis. mrhappiness 08-11-2003, 18:14 was ja wohl auch nicht verwudnerlich ist, da du die länge des wortes "text" zählst bei spaltennamen kommen keine hochkommata hin LENGTH (text) und dann so weiter wie oben schon steht flo 08-11-2003, 19:55 A jetzt habe ich es, wie ich es haben wollte, und hoffentlich habe ich dabei was gelernt. dankeschön, es erleichtert mir die durchsicht der datenbank SELECT * FROM `tabelle` WHERE LENGTH( text ) <= 100 |
|