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