Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie wähle ich nach einer Reihe von Startzeichen aus?

Schneller als Regular expressions und SUBSTRING() Funktionsaufrufe. Dies verwendet den Index von symbolName :

WHERE symbolName >= 'A' 
  AND symbolName < 'G'

Es gibt jedoch ein Problem mit der Groß- und Kleinschreibung. Möchten Sie Namen, die mit a..f beginnen? auch oder nicht?

Wenn Sie nur Namen wollen, die mit Großbuchstaben beginnen und die Tabelle utf8 hat Zeichensatz, verwenden Sie:

WHERE symbolName >= 'A' COLLATE utf8_bin
  AND symbolName < 'G' COLLATE utf8_bin

Verwenden Sie für andere Zeichensätze das entsprechende _bin Sortierung.