Vinzenz Mai: MySql - Spalte = Anfang_des_Strings

Beitrag lesen

Hallo Daniel,

Also die Spalte enthält irgendwelche Strings.
Letztendlich brauche ich ein "gestaffeltes" Ergebnis:

  • falls es eine Zeile gibt, in der die Spalte genauso lautet wie der Suchstring, brauche ich nur diese (LIKE)
  • ist dies nicht der Fall brauche ich die zeilen, die so beginnen, wie der suchstring und diese nach länge geordnet.

Du solltest Dir den CASE-Operator ansehen.

z.B. Ich suche in folgenden Zeilen nach hallo
ha
hall

Den zweiten Fall könntest Du mit einem logischen ODER abhandeln.

Da keine Zeile = hallo, werden hall und ha und zwar in dieser Reihenfolge geliefert.

CHAR_LENGTH() sollte Dir dabei helfen - und liefert auch bei UTF-8 das gewünschte Ergebnis im Gegensatz zu LENGTH().

Freundliche Grüße

Vinzenz