SQLite 不区分重音的搜索

有什么办法可以在 SQLite 中进行不区分重音的 LIKE 查询吗?例如,这个查询:

SELECT * FROM users WHERE name LIKE "Andre%"

会回来:

<前>安德烈巨人安德烈·阿加西等等.

如果有任何不同,我将 Qt 与 QSqlDatabase 一起使用.

解决方案

设置排序规则 使用 sqlite3_create_collat​​ion 然后像这样使用它:

SELECT * FROM users WHERE name LIKE "Andre%" COLLATE NOACCENTS

Is there any way to do an accent-insensitive LIKE query in SQLite? For example, this query:

SELECT * FROM users WHERE name LIKE "Andre%"

would return:

André the Giant
Andre Agassi
etc.

I'm using Qt with QSqlDatabase if it makes any difference.

解决方案

Set up a collation using sqlite3_create_collation and then use it like this:

SELECT * FROM users WHERE name LIKE "Andre%" COLLATE NOACCENTS

相关文章