sqlite - 如何在 SQLite DATETIME 字段中获取时间值的总和
问题描述
如何在 SQLite 的日期时间字段中获取存储为 hh:mm 格式的时间值总和?我已经尝试过在sqlite 给出的解决方案:如何在列数据类型为 DATETIME 的情况下添加总时间 hh:mm:ss?它给了我与 Excel 相同的结果。但如果我手动一一数,答案是 44 小时 49 分钟。但是,excel 和从上述 URL 给出的解决方案派生的查询都给出了 20 小时 49 分钟的答案。我包括我使用的查询。
询问:
select time(sum(strftime('%s',appUsageTime)-strftime('%s','00:00')),'unixepoch')
from offlineAppsUsageHistory
WHERE appId=3;
无法添加 Excel 截图,但appUsageTime
字段中的时间值如下:
01:27
01:10
01:21
00:54
01:28
01:53
01:29
03:30
02:11
03:38
02:40
02:07
03:04
02:42
02:24
02:16
02:05
01:46
02:41
01:13
02:07
00:43
解决方案
因为您的总和超过 24 小时,time
所以只返回不是一整天的部分。因此你得到一个结果而20:49
不是44:49
原样。显示总小时数和分钟数的一种方法是使用总和:20:49
44:49 - 24:00
printf
SELECT printf('%d:%02d', totsec / 3600, (totsec % 3600) / 60) AS total
FROM (
SELECT sum(strftime('%s',appUsageTime)-strftime('%s','00:00')) AS totsec
FROM offlineAppsUsageHistory
WHERE appId=3
) h
输出:
total
44:49
推荐阅读
- simulation - roslaunch 中的错误转子_gazebo three_multicopters_hovering_example.launch
- python - 如何使用带有变量的 jinja 访问 sqlalchemy 表列
- steam - 试图获取应用程序的价格,但 Steam API 密钥被拒绝
- java - 面临的问题:java.lang.NoClassDefFoundError: org/bouncycastle/jcajce/JcaJceHelper 使用更新的 BC jar 时
- regex - 如何使用 sed 从逗号分隔的字符串中提取数字?
- java - Eclipse 没有在当前项目中保存我的修改
- spring-boot - antMatchers & permitAll 不允许我访问 REST 点
- python - 使用 sys.argv 作为函数中的参数的语法错误
- testing - 通过 ClientScript 设置属性不持久
- firebase - FIrebase auth:在使用 signInWithPopup() 创建新用户之前检查用户是否存在