我有一个查询,但它没有给出正确的答案。我想像这样显示5小时58分钟+7小时58 minutes=13小时56分钟(答案应该是13.56),但下面的查询输出13.6。请回复我与任何其他解决方案。(Effort1是5小时列,Effort1Minutes是58分钟列,同一Effort2是7小时列,Effort2Minutes是58分钟列。
select SUM(Effort1 + Effort2) + SUM(Effort1Minutes + Effort2Minutes) / 60 + CONVERT(decimal(18,2), (SUM(Effort1Minutes + Effort2Minutes) % 60) / 100.00)
from TimesheetDetails发布于 2013-11-26 16:09:21
当你有一把锤子的时候,所有的问题看起来都像钉子。这是一个常见的陷阱,这基本上意味着“为每个给定的问题使用正确的工具”。
为什么要使用如此复杂的查询来计算时间总和?
TIME列,您可以稍后使用ADDDATE(d1, d2)TIME INTERVAL数据类型吗,如SQL99标准中所定义?正如您所看到的,有许多其他解决方案可以从根本上解决您的问题,同时还可以为您提供更好的数据库设计。请考虑他们,特别是第一个。
https://stackoverflow.com/questions/20211489
复制相似问题