Android sqlite fts3匹配并比较整数/浮点
我们有一个没有增强语法(Android!!!)的sqlite fts3表,其中我们使用如下查询:Android sqlite fts3匹配并比较整数/浮点,android,sqlite,full-text-search,fts3,Android,Sqlite,Full Text Search,Fts3,我们有一个没有增强语法(Android!!!)的sqlite fts3表,其中我们使用如下查询: SELECT * FROM tableName WHERE tableName MATCH 'name*' AND validTo > 1389999600000 LIMIT 10 这在具有fts4和增强语法的iOS上运行良好,validTo compare无法按预期工作: validTo > anyNumber => true validTo < anyNumber =&
SELECT * FROM tableName WHERE tableName MATCH 'name*' AND validTo > 1389999600000 LIMIT 10
这在具有fts4和增强语法的iOS上运行良好,validTo compare无法按预期工作:
validTo > anyNumber => true
validTo < anyNumber => false
validTo>anyNumber=>true
validTofalse
这和全文搜索表包含字符串有关。但话说回来,它可以在iOS上运行。
在iOS上,我们有类似于138999600000.0
的十进制时间,但我们尝试过,没有任何更改
关于如何解决这个问题有什么线索吗?您不应该使用FTS表来存储非文本数据 如果确实希望将FTS表中的数据视为数字,则必须显式转换:
SELECT * FROM MyTable WHERE CAST(validTo AS NUMERIC) > 1389999600000
谢谢,这正是我需要的。嗯,我认为这比一次选择要快。