Aracılığıyla paylaş


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 .

Ayrıca bkz.