如何在Sqlite中实现重音/变音符号不敏感搜索?

Cli*_* Ok 2 c# database sqlite search collation

有没有办法在sqlite中进行重音/变音符号不敏感搜索?

谷歌搜索,我发现了这一点,但我真的不知道如何在C#中创建我的"校对功能".我正在尝试为Sqlite创建pt-br排序规则...

V.I*_*.S. 6

如果您使用的是System.Data.Sqlite,则可以使用自定义归类序列并根据需要进行修改...示例:

/// <summary>
/// User-defined collating sequence using the current UI culture.
/// </summary>
[SQLiteFunction(Name = "MYSEQUENCE", FuncType = FunctionType.Collation)]
class MySequence : SQLiteFunction
{
  public override int Compare(string param1, string param2)
  {
    return String.Compare(param1, param2, true);
  }
}
Run Code Online (Sandbox Code Playgroud)

使用上面的自定义归类序列的SQL查询可能如下所示:SELECT*FROM MyTable ORDER BY MyChineseColumn COLLATE MYSEQUENCE DESC

(来源:http://sqlite.phxsoftware.com/forums/p/862/3779.aspx#3779)

您可以在创建表时设置排序规则并在该列上构建索引.但请记住,您将无法从其他未定义排序规则的sqlite引擎访问表.