Caso-Sensitivito em Pesquisas
Por padrão, as pesquisas no MariaDB são caso-insensitivo (a menos que haja algum conjunto de caracter que nunca seja caso-insensitivo, com czech
). Isto significa que se você buscar com nome_coluna LIKE 'a%'
, você obterá todos os valores de colunas que iniciam com A
ou a
. Se você quiser fazer esta busca caso-sensitivo, use algo como INSTR(nome_coluna, 'A')=1
para verificar o prefixo. Ou use STRCMP(nome_coluna, 'A') = 0
se o valor da coluna deve se exatamente 'A'
.
Operações de comparações simples (>=, >, = , < , <=
, ordenando e agrupando) são basedos em cada valor de ordenação
do caracter. Caracteres com o mesmo valor de ordenação (como 'E', 'e' e 'é') são tratados como o mesmo caracter!
Em versões antigas do MariaDB, comparações com LIKE
eram feitas com o valor de letra maiúscula de cada caracter (E == e mas E <> é). Nas versões mais novas, LIKE
funciona assim como os outros operadores de comparação.
Se você quiser que uma coluna sempre seja tratada de modo caso-sensitivo, declare a como BINARY
. Leia "Sintaxe CREATE TABLE
".
Se você está usando caracteres Chineses na codificação big5, você pode tornar todas as colunas de caracteres BINARY
. Isto funciona porque a ordenação de caracteres de codificação big5 é baseada na ordem do código ASCII.