Strings können mit regelmäßigen Vergleichsoperatoren in MySQL verglichen werden, so sollte diese Arbeit:
SELECT * FROM table WHERE col >= 'C'
beachten Sie, dass die genaue Reihenfolge, um (vor allem Empfindlichkeit Fall) für Strings, auf characterset hängt Kollation. Vielleicht ist das der Grund, warum es für dich nicht funktioniert hat.
Sie können auch ASCII()
Funktion verwenden, die den Zeichenwert eines einzelnen Zeichens zurückgibt, und vergleichen denen:
SELECT * FROM table WHERE ASCII(col) >= ASCII('C')
Beachten Sie, dass dies nur funktioniert, für Single-Byte-Zeichen. Für Multi-Byte-Zeichen müssen Sie ORD()
anstelle von ASCII()
verwenden. Ein anderer Weg ist die Verwendung von STRCMP()
, die zwei Strings vergleicht (wiederum unter Verwendung der Sortierreihenfolge Ihrer Zeichensatzkollatierung) und 0 zurückgibt, wenn die Strings gleich sind, -1, wenn das erste Argument kleiner als das zweite ist, und 1 sonst.
SELECT * FROM table WHERE STRCMP(col, 'C') >= 0
Vielen Dank! Ist das der einzige Weg, es zu tun? Oder kennen Sie eine andere Lösung? Nur aus Neugier. – Bas
Ich frage mich, warum 'col> = 'C'' nicht für Sie funktioniert hat. das ist ein weiterer Weg. –