1

下面的 SELECT 语句在 iOS 8.1 和之前的版本上运行得非常好。现在,在我更新的 iOS 8.2 设备上,它只是不返回任何结果而没有任何错误。我发现 iOS 8.2 将 SQLite 版本从 3.7.13 更新到了 3.8.4。这似乎是问题所在,因为我没有更改任何其他内容。

SELECT * FROM allLanguages WHERE allLanguages MATCH '*searchString*' (doesn't work --> no results)

当我玩了一下时,问题似乎是“前缀”通配符 *. 删除它会返回结果。

SELECT * FROM allLanguages WHERE allLanguages MATCH 'searchString*' (works)

SELECT * FROM allLanguages WHERE allLanguages MATCH '*searchString' (doesn't work --> no results)

SELECT * FROM allLanguages WHERE allLanguages MATCH '*searchString*' (doesn't work --> no results)

有谁知道这里有什么问题?SELECT 语句可以用在 SQL 3.8.4 下工作的不同语句代替吗?

提前谢谢了!

4

1 回答 1

0

经过一些研究,在'"*searchString*"'周围加上双引号对我有用。无法解释原因,但它有效;)

SELECT * FROM allLanguages WHERE allLanguages MATCH '"*searchString*"'
于 2015-03-18T10:54:27.867 回答