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.

Retornar