首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分钟超过60分钟时的小时和分钟的总和

分钟超过60分钟时的小时和分钟的总和
EN

Stack Overflow用户
提问于 2013-11-26 16:02:58
回答 1查看 488关注 0票数 1

我有一个查询,但它没有给出正确的答案。我想像这样显示5小时58分钟+7小时58 minutes=13小时56分钟(答案应该是13.56),但下面的查询输出13.6。请回复我与任何其他解决方案。(Effort1是5小时列,Effort1Minutes是58分钟列,同一Effort2是7小时列,Effort2Minutes是58分钟列。

代码语言:javascript
复制
select SUM(Effort1 + Effort2) + SUM(Effort1Minutes + Effort2Minutes) / 60 + CONVERT(decimal(18,2), (SUM(Effort1Minutes + Effort2Minutes) % 60) / 100.00)
from TimesheetDetails
EN

回答 1

Stack Overflow用户

发布于 2013-11-26 16:09:21

当你有一把锤子的时候,所有的问题看起来都像钉子。这是一个常见的陷阱,这基本上意味着“为每个给定的问题使用正确的工具”。

为什么要使用如此复杂的查询来计算时间总和?

  1. 为什么没有两个TIME列,您可以稍后使用ADDDATE(d1, d2)
  2. Why添加它们不是使用TIME INTERVAL数据类型吗,如SQL99标准中所定义?
  3. 为什么不以分钟为单位返回结果,并让应用程序将其转换为您选择的格式?
  4. 为什么不分别返回小时和分钟,并再次让应用程序处理由于分钟之和可能产生的额外小时?

正如您所看到的,有许多其他解决方案可以从根本上解决您的问题,同时还可以为您提供更好的数据库设计。请考虑他们,特别是第一个。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20211489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档