我正在使用SQLite.swift。 有没有办法在SQLite中进行变音符号不敏感的LIKE查询?例如,此查询:
SELECT * FROM users WHERE name LIKE "thu%"
将返回:
thử
thu
thư
etc.
答案 0 :(得分: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%'