2

我正在使用 SQLite.swift。有什么方法可以在 SQLite 中执行不区分变音符号的 LIKE 查询?例如,这个查询:

SELECT * FROM users WHERE name LIKE "thu%"

会返回:

thử
thu
thư
etc.
4

1 回答 1

1

文档中

createCollation我们可以通过调用数据库连接来创建自定义排序序列。

try db.createCollation("NODIACRITIC") { lhs, rhs in
    return lhs.compare(rhs, options: .DiacriticInsensitiveSearch)
}

我们可以使用枚举Custom成员引用自定义排序规则。Collation

restaurants.order(collate(.Custom("NODIACRITIC"), name))
// SELECT * FROM "restaurants" ORDER BY "name" COLLATE "NODIACRITIC"

在您的情况下,您可以在之后执行以下查询:

SELECT * FROM users WHERE name COLLATE NODIACRITIC LIKE 'thu%'
于 2015-12-02T20:23:16.137 回答