Android sqlite fts3匹配并比较整数/浮点数

时间:2014-01-20 13:17:16

标签: android sqlite full-text-search fts3

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

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

这在使用fts4和增强语法的iOS上运行良好,validTo compare不能按预期工作:

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

这与全文搜索表包含字符串有关。但话说再说一遍 - 它适用于iOS。 在iOS上,我们有一些像1389999600000.0这样的小数值的时间,但我们已经尝试过,没有任何改变。

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

1 个答案:

答案 0 :(得分:6)

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

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

SELECT * FROM MyTable WHERE CAST(validTo AS NUMERIC) > 1389999600000