3

我们有一个没有增强语法(Android !!!)的 sqlite fts3 表,我们使用这样的查询:

SELECT * FROM tableName WHERE tableName MATCH 'name*' AND validTo > 1389999600000 LIMIT 10

这在具有 fts4 和增强语法的 iOS 上运行良好,validTo 比较不能按预期工作:

validTo > anyNumber => true
validTo < anyNumber => false

这与全文搜索表包含字符串有关。但话又说回来 - 它适用于 iOS。在 iOS 上,我们有时会使用十进制值,1389999600000.0但我们已经尝试过,没有任何改变。

关于如何解决这个问题的任何线索?

4

1 回答 1

7

您不应该使用 FTS 表来存储非文本数据。

如果您真的想将 FTS 表中的数据视为数字,则必须显式转换它:

SELECT * FROM MyTable WHERE CAST(validTo AS NUMERIC) > 1389999600000
于 2014-01-20T14:33:40.817 回答