Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como seleciono por um intervalo de caracteres iniciais?


Mais rápido que Regular expressions e SUBSTRING() chamadas de função. Isso usará o índice de symbolName :
WHERE symbolName >= 'A' 
  AND symbolName < 'G'

Há um problema com a distinção entre maiúsculas e minúsculas. Você quer nomes que comecem com a..f também ou não?

Se você quiser apenas nomes que começam com letras maiúsculas e a tabela tem utf8 conjunto de caracteres, use:
WHERE symbolName >= 'A' COLLATE utf8_bin
  AND symbolName < 'G' COLLATE utf8_bin

Para outros conjuntos de caracteres, use o _bin correspondente agrupamento.