我有一个MySQL数据库,我有3列:
Day_hours
Day_minutes
All_day_hours
我将在JSP页面中有一些不同的表单字段,我可以在其中处理我工作的小时数。在我在不同地方工作的那一天,这意味着我需要fx来放入5 * Day_hours, Day_minutes and All_day_hours
。所以问题是我想计算一天中的所有小时和分钟。所以,如果我fx工作:
1 job: 2 hours 15 minutes
2 job: 3 hours 45 minutes
3 job: 1 hours 10 minutes
4 job: 4 hours 40 minutes
5 job: 3 hours 15 minutes
这意味着如果我计算列“Day_minutes”它会给我结果125.我希望125分钟转换为小时,因此结果将是2小时5分钟。之后,必须将Day_hours和Day_minutes添加到Allday_hours列。所以Allday_hours是Day_hours + Day_minutes的总和
所以在MySQL数据库中的Fx有一个例子日的以下信息:
Day_hours Day_minutes Allday_hours
1 job 2 15 2.15
2 job: 3 45 3.45
3 job: 1 10 1.10
4 job: 4 40 4.40
5 job: 3 15 3.15
所以我的问题是,如何计算Allday_hours的Day_hours和Day_minutes,那么作业1的结果是2.15?
祝周末愉快。
最诚挚的问候 MADS
答案 0 :(得分:1)
您不应该在Allday_hours
中保存内容,因为这是多余的信息。
您可以从您拥有的数据中检索您想要的数据(没有问题)。例如
SELECT *, ((Day_hours*60 + Day_minutes)/60) AS Allday_hours FROM timedata...
无需实际保存它们。
顺便说一下,我认为2小时加15分钟加起来2.15
之类的事情是相当奇怪的。所以我上面的查询计算相对的东西...如果你真的想要计算你的价值,你可以使用
SELECT *, (Day_hours + (Day_minutes / 100)) as Allday_hours FROM timedata
如果您真的想保存它,可以在更新语句中使用计算,例如
UPDATE timedata SET Allday_hours = (Day_hours + (Day_minutes / 100))