Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je sélectionner par une plage de caractères de départ ?

Plus rapide que les Regular expressions et SUBSTRING() appels de fonction. Cela utilisera l'index de symbolName :

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

Il y a cependant un problème avec la sensibilité à la casse. Voulez-vous des noms qui commencent par a..f trop ou pas ?

Si vous ne voulez que des noms commençant par une majuscule et que la table a utf8 jeu de caractères, utilisez :

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

Pour les autres jeux de caractères, utilisez le _bin correspondant classement.