SQLlite like语句用特殊字符替换空格

问题描述:

我有一个带有城市列表的SQLlite数据库。 我的autoCompleteTextView链接到这个数据库,但我有一个问题。SQLlite like语句用特殊字符替换空格

有我的数据库中有很多城市是这样的:

圣特雷登
圣彼得斯 - 罗德
的Sint-Rijkers等等

但是很多用户将只键入Sint Truiden并且不会收到任何结果。

这是我到目前为止有:

String sql = ""; 
sql += "SELECT * FROM " + TABLE_CITIES; 
sql += " WHERE " + KEY_NAME + " LIKE '%" + searchTerm + "%'"; 

我如何调整我的SQL实现我的目标是什么?

一个解决方案是规范化搜索项的数据库内容。例如,您可以在表格中添加一个包含规范化名称的列。一些正常化例子:

  • 替换任何种类的分离器(破折号,点,多个空格)与一个空间
  • 转换为小写
  • Remove accents