我想进行查询以获取指定时间之间的记录。例如,我想要在00:00和01:00之间获取所有日期的所有记录。所以,日期并不重要,而是几小时。怎么做?
我已经这样做了,但它只返回某些日期。
Select name from my_table where date_column> beginning and date_column< end
这里的开头和结尾都是毫秒级。我的date_column也以毫秒格式存储。
答案 0 :(得分:1)
使用strftime()
:
Select name
from my_table
where strftime('%H', date_column) = '00';
这只是检查小时。如果您想要更精细的话,可以使用'%H:%M:%S'
。
编辑:
您没有日期时间值。你还有其他的东西。它看起来像以毫秒而不是秒为单位测量的Unix纪元时间。如果是这样,以下内容应该有效:
Select name, datetime(date_column/1000, 'unixepoch')
from my_table
where strftime('%H', datetime(date_column/1000, 'unixepoch')) = '19';
但是,没有一次是在第3小时。您可能需要使用当地时间进行转换。