Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As sequências de agrupamento são usadas pelo SQLite ao comparar valores TEXT para determinar a ordem e a igualdade. Você pode especificar qual agrupamento usar ao criar colunas ou por operação em consultas SQL. SQLite inclui três sequências de agrupamento por padrão.
| Colação | Descrição |
|---|---|
| RTRIM | Ignora o espaço em branco à direita |
| NOCASE | Insensível a maiúsculas e minúsculas para caracteres ASCII de A a Z |
| BINÁRIO | Sensível a maiúsculas e minúsculas. Compara bytes diretamente |
Ordenação personalizada
Você também pode definir suas próprias sequências de agrupamento ou substituir as internas usando CreateCollation. O exemplo a seguir mostra a substituição do agrupamento NOCASE para oferecer suporte a caracteres Unicode. O código de exemplo completo está disponível no GitHub.
connection.CreateCollation("NOCASE", (x, y) => string.Compare(x, y, ignoreCase: true));
var queryCommand = connection.CreateCommand();
queryCommand.CommandText =
@"
SELECT count()
FROM greek_letter
WHERE value = 'λ' COLLATE NOCASE
";
var oCount = queryCommand.ExecuteScalar();
var count = (oCount is not null) ? (int)oCount : -1;
Como operador
O operador LIKE no SQLite não respeita colações. A implementação padrão tem a mesma semântica que o agrupamento NOCASE. Não diferencia maiúsculas de minúsculas apenas para os caracteres ASCII de A a Z.
Você pode facilmente tornar o operador LIKE sensível a maiúsculas e minúsculas usando a seguinte instrução pragma:
PRAGMA case_sensitive_like = 1
Consulte Funções definidas pelo usuário para obter detalhes sobre como substituir a implementação do operador LIKE.