Harmanlama
Sıralama ve eşitliği belirlemek için METNEÇEVİr değerleri karşılaştırılırken SQLite tarafından harmanlama dizileri kullanılır. SQL sorgularında sütun oluştururken veya işlem başına kullanılacak harmanlamayı belirtebilirsiniz. SQLite varsayılan olarak üç harmanlama dizisi içerir.
Harmanlama | Açıklama |
---|---|
RTRIM | Sondaki boşluğu yoksayar |
NOCASE | A-Z ASCII karakterleri için büyük/küçük harfe duyarlı değil |
IKİLİ | Duyarlı. Baytları doğrudan karşılaştırır |
Özel harmanlama
Ayrıca kendi harmanlama dizilerinizi tanımlayabilir veya kullanarak CreateCollationyerleşik dizileri geçersiz kılabilirsiniz. Aşağıdaki örnekte Unicode karakterlerini desteklemek için NOCASE harmanlamasının geçersiz kılınması gösterilmektedir. Örnek kodun tamamı GitHub'da kullanılabilir.
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 işleci
SQLite'teki LIKE işleci harmanlamalara uymaz. Varsayılan uygulama NOCASE harmanlaması ile aynı semantiklere sahiptir. Yalnızca A ile Z arası ASCII karakterleri için büyük/küçük harfe duyarlı değildir.
Aşağıdaki pragma deyimini kullanarak LIKE işlecini büyük/küçük harfe duyarlı hale getirebilirsiniz:
PRAGMA case_sensitive_like = 1
LIKE işlecinin uygulanmasını geçersiz kılma hakkında ayrıntılı bilgi için bkz . Kullanıcı tanımlı işlevler .