在SQLite数据库中,给定完整的DATETIME()戳,如何根据小时组件获取条目?



我正在保存完整的DATETIME()字符串到我的SQLite数据库,现在我想知道如何根据小时检索条目。

SELECT strftime('%Y-%m-%d %H:%M:%S','now') - strftime('%Y-%m-%d %H:%M:%S','2013-03-16 14:51:00')

将计算年份的差异,例如(这里是1)。

但是当我刚刚得到%H分量时,我会遇到像

这样的问题
SELECT strftime('%Y-%m-%d %H:%M:%S','2013-03-15 14:51:00') - strftime('%Y-%m-%d %H:%M:%S','2013-03-16 14:51:00')

返回0而不是24,对吧。那么,在给定完整日期时间戳的情况下,如何最有效地获得小时差呢?

谢谢你的帮助!

一种方法是将日期时间戳转换为unix epoch strtime('%s', ...),进行减法,然后转换为小时,如下所示:

sqlite> SELECT (strftime('%s','2013-03-15 14:51:00') - strftime('%s','2013-03-16 14:51:00')) / 3600;
-24

相关内容

  • 没有找到相关文章

最新更新