Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Sqlite按小时获取记录_Android_Sqlite - Fatal编程技术网

Android Sqlite按小时获取记录

Android Sqlite按小时获取记录,android,sqlite,Android,Sqlite,我想进行查询以获取指定时间之间的记录。例如,我希望获取所有日期的00:00到01:00之间的所有记录。因此,日期并不重要,重要的是时间。怎么做 我已经这样做了,但它只在特定日期返回 Select name from my_table where date_column> beginning and date_column< end 从my_表中选择名称,其中日期列>开始和日期列

我想进行查询以获取指定时间之间的记录。例如,我希望获取所有日期的00:00到01:00之间的所有记录。因此,日期并不重要,重要的是时间。怎么做

我已经这样做了,但它只在特定日期返回

Select name from my_table where date_column> beginning and date_column< end
从my_表中选择名称,其中日期列>开始和日期列<结束
这里的开始和结束以毫秒为单位。“我的日期”列也以毫秒格式存储。

使用
strftime()

这只是检查时间。如果需要更高的粒度,可以使用
“%H:%M:%S”

编辑:

您没有日期时间值。你还有别的事。它看起来像是一个Unix纪元时间,以毫秒为单位,而不是以秒为单位。如果是这样的话,以下措施应该有效:

Select name, datetime(date_column/1000, 'unixepoch')
from my_table
where strftime('%H', datetime(date_column/1000, 'unixepoch')) = '19';

但是,没有一次是在第3小时。您可能需要使用本地时间进行转换。

显示您迄今为止所做的工作。如果您不知道从哪里开始,请用谷歌搜索它,只有当您遇到问题或困惑时才返回。@Nabin,我添加了我到目前为止所做的事情。@Nabin可能重复,这是一个sqlite查询,如何使用报警管理器进行此查询?@CoKoder抱歉,我没有阅读您的问题。它不会返回任何记录。您的查询中的0是什么?意思是00:00?@CoKoder。对我来说,这是一个愚蠢的错误,争论的顺序是错误的。
0
是一天中的小时数。此函数相当于其他数据库中的
hour(datetime)
extract(hour from datetime)
datepart(hour,datetime)
,除了SQLite版本返回字符串而不是整数。我的日期以毫秒形式存储,我还可以使用您的查询吗?如何指定时间范围?E.x:00:00到01:00。我创建了一个sql FIDLE:,它似乎不起作用
Select name, datetime(date_column/1000, 'unixepoch')
from my_table
where strftime('%H', datetime(date_column/1000, 'unixepoch')) = '19';