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

时间:2014-03-16 15:02:47

标签: datetime sqlite

我正在将完整的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,对吧。那么如何最有效地获得完整日期时间戳的小时数差异呢?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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

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