Classement
Les séquences de classement sont utilisées par SQLite lors de la comparaison de valeurs TEXT pour déterminer l’ordre et l’égalité. Vous pouvez spécifier le classement à utiliser lors de la création de colonnes ou par opération dans des requêtes SQL. SQLite comprend trois séquences de classement par défaut.
Classement | Description |
---|---|
RTRIM | Ignore l’espace blanc de fin |
NOCASE | Non sensible à la casse pour les caractères ASCII de A à Z |
BINARY | Respectent la casse. Compare directement les octets |
Classement personnalisé
Vous pouvez également définir vos propres séquences de regroupement ou remplacer les séquences intégrées à l’aide de CreateCollation. L’exemple suivant montre comment remplacer le classement NOCASE pour prendre en charge les caractères Unicode. L’exemple de code complet est disponible sur 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;
Like (opérateur)
L’opérateur LIKE dans SQLite n’honore pas les classements. L’implémentation par défaut a la même sémantique que le classement NOCASE. Elle ne respecte pas la casse uniquement pour les caractères ASCII de A à Z.
Vous pouvez facilement rendre l’opérateur LIKE sensible à la casse à l’aide de l’instruction pragma suivante :
PRAGMA case_sensitive_like = 1
Pour plus d’informations sur la substitution de l’implémentation de l’opérateur LIKE, consultez Fonctions définies par l’utilisateur.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour