我们有一个没有增强语法的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的时间,但是我们已经尝试过了,没有任何改变。
关于如何解决这个问题有什么线索吗?

最佳答案

不应使用fts表存储非文本数据。
如果您真的想将fts表中的数据视为数字,则必须显式转换它:

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

08-06 21:47