【发布时间】:2021-11-29 21:40:59
【问题描述】:
我正在尝试删除超过 90 天的记录,但它在 room database 中不起作用。我在 mytable 中有时间戳。 timestamp 存储插入记录时记录的时间戳。我将时间戳存储在long 中的room database 中。
我也尝试过做这样的事情,但也不适合我
@Query("DELETE FROM datacaptureinfoalibi WHERE timeStamp <= strftime('%s', datetime('now', '-90 day') )")
int deleteOlderData(/*long timeStamp*/);
stackoverflow 中有很多可用的解决方案,但没有一个对我有用
请帮助我,我们将不胜感激。
【问题讨论】:
-
请编辑您的问题以显示您如何存储时间戳,或者使用工具查看实际数据并将其包含在内。 timestamp 存储插入记录时记录的时间戳。 说的很少 BUT 如果你得到,说时间以毫秒为单位 (
System.currentTimeMillis()) 然后@ 987654329@ 将返回 null,因为数据未以可识别的格式存储。您可能需要使用unixepoch修饰符。见sqlite.org/lang_datefunc.html -
请检查添加的表格预览数据
标签: android sqlite android-room