Android 查询到游标的唯一日期

Android 查询到游标的唯一日期,android,sqlite,cursor,Android,Sqlite,Cursor,在我的数据库中,日期以毫秒为单位存储为字符串。如何查询只考虑月和日的唯一日期,并计算同一天有多少日期共享 如果要存储日期,请使用日期类型。Sqlite可能没有它。但请不要把它当绳子用!我建议您存储整数以存储毫秒。使用bindLong等。不幸的是,您必须自己在代码中进行一些计算。只需计算每天的第一和最后一毫秒。然后,您将能够使用偶数索引,使用第一天和最后一天之间的WHERE时间戳。 您可以选择时间戳的最小值和最大值,以便在这两个时间戳之间仅尝试几天 如果您需要经常这样做,或者需要处理大量数据,我建

在我的数据库中,日期以毫秒为单位存储为字符串。如何查询只考虑月和日的唯一日期,并计算同一天有多少日期共享

如果要存储日期,请使用日期类型。Sqlite可能没有它。但请不要把它当绳子用!我建议您存储整数以存储毫秒。使用bindLong等。不幸的是,您必须自己在代码中进行一些计算。只需计算每天的第一和最后一毫秒。然后,您将能够使用偶数索引,使用第一天和最后一天之间的WHERE时间戳。 您可以选择时间戳的最小值和最大值,以便在这两个时间戳之间仅尝试几天

如果您需要经常这样做,或者需要处理大量数据,我建议将日期存储在多个列中,作为年、月、日的整数。取决于你对时间做了什么,从午夜开始,毫秒。或多个小时、分钟、秒和毫秒列


我认为从一堆数字中格式化字符串日期要比从一个字符串中解析这些数字容易得多。在数据库中比较它们肯定更容易。

除以1000得到秒,然后使用获取日期,使用strftime只输出年份和月份:

SELECT strftime('%Y-%m', DateMillis / 1000, 'unixepoch'),
       COUNT(*)
FROM MyTable
GROUP BY 1

@塞尔文只是一个愚蠢的要求