自定义排序规则
还可以使用
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 count = (long)queryCommand.ExecuteScalar();
Like 运算符
SQLite 中的 LIKE 运算符不遵循排序规则。 默认实现的语义与 NOCASE 排序规则相同。 只对 ASCII 字符 A 到 Z 不区分大小写。
可以使用以下 pragma 语句轻松地使 LIKE 运算符区分大小写:
PRAGMA case_sensitive_like = 1
有关替代 LIKE 运算符的实现的详细信息,请参阅用户定义的函数。
用户定义的函数
SQL 语法