共用方式為


排序

在比較 TEXT 值以判斷順序和相等時,SQLite 會使用定序序列。 您可以在建立資料行時或在 SQL 查詢中針對每個操作,指定要使用的定序。 SQLite 預設包含三個排序規則。

排序 說明
RTRIM 忽略尾端空格符
不區分大小寫 處理 ASCII 字元 A-Z 時不區分大小寫
二進制 區分大小寫。 直接比較位元組

自訂排序

您也可以定義自己的定序序列,或使用CreateCollation 覆寫內建序列。 下列範例示範覆寫 NOCASE 定序以支援 Unicode 字元。 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 運算子

SQLite 中的 LIKE 運算元不接受定序。 默認實作的語意與NOCASE定序相同。 只有 ASCII 字元 A 到 Z 不區分大小寫。

您可以使用下列 pragma 語句,輕易地使 LIKE 運算子區分大小寫:

PRAGMA case_sensitive_like = 1

如需有關覆寫 LIKE 運算子實作的詳細資訊,請參閱 使用者定義函數

另請參閱