mysql - 给定特定的日期时间和分钟数,我如何仅在工作时间计算结束日期时间,不包括多个休息时间和天数翻转?
问题描述
我有一个特殊的问题,其中我有开始日期时间,我需要根据变量 X 计算“最终”日期时间。
基本上,我有第一个表,有几列,其中一个是日期时间。
在另一个表中,我有一些“时间”列,其中包含:
start_of_day, end_of_day, break1_start, break1_end, break2_start, break2_end (4 breaks in total), minutes_per_call
我需要在第一个表中获取日期时间,并且只在一天的工作时间内添加实际分钟数。
为了增加另一层复杂性,我需要避免坐姿和太阳。
我试过了,我所达到的最多的是计算天翻转,但我不知道如何完成它
有什么提示吗?
在这里,我看到多次引用其他表格来计算日期和时间,但我找不到与我的情况相匹配的示例 - 我现在很难过
CREATE TABLE `turns` (
`LINE_TYPE` varchar(10) NOT NULL,
`DAY_BEGIN` time DEFAULT NULL,
`DAY_END` time DEFAULT NULL,
`BREAKTIME1_BEGIN` time DEFAULT NULL,
`BREAKTIME1_END` time DEFAULT NULL,
`BREAKTIME2_BEGIN` time DEFAULT NULL,
`BREAKTIME2_END` time DEFAULT NULL,
`BREAKTIME3_BEGIN` time DEFAULT NULL,
`BREAKTIME3_END` time DEFAULT NULL,
`MINUTES_TO_COMPLETION` int DEFAULT NULL,
PRIMARY KEY (`LINE_TYPE`)
);
INSERT INTO `WORKDB`.`TURNS`
(`LINE_TYPE`,
`DAY_BEGIN`,
`DAY_END`,
`BREAKTIME1_BEGIN`,
`BREAKTIME1_END`,
`BREAKTIME2_BEGIN`,
`BREAKTIME2_END`,
`BREAKTIME3_BEGIN`,
`BREAKTIME3_END`,
`MINUTES_TO_COMPLETION`)
VALUES
('TLD','08:00:00', '17:00:00', '10:00:00', '10:15:00', '12:30:00', '13:30:00', '15:00:00', '15:30:00', '300');
CREATE TABLE `calculation` (
`LINE_TYPE` varchar(10) NOT NULL,
`CALLTIME` datetime NOT NULL,
PRIMARY KEY (`LINE_TYPE`)
);
INSERT INTO `WORKDB`.`calculation`
(`LINE_TYPE`,`CALLTIME`)
VALUES
('TLD','25/09/2020 14:58:00')
从这些,我需要有一个选择,让我计算出“预期结束时间”,不包括休息时间。在示例中,我们有一个从 14:58:00 开始的对标识符 TLD 的调用 - 完成时间是通过添加完成时间来计算的,在本例中为 300 分钟。
计时器只需要在工作时间内(这意味着在一天之内(DAY_BEGIN 和 DAY_END)和休息时间之外)运行。
这种特殊情况将是:
14:58:00 是 2h2m 到 5,负 30m 休息时间(15:00 到 15:30)是 1h32m 到关闭时间。定时器在第二天早上 8 点再次开始,直到 10 点(第一次休息时间),我们已经达到 2 小时 32 分。10:15 我们重新开始,直到第二个午餐时间,4 小时 47 分。13:30我们再次出发,又过了13分钟达到了300分钟的目标。
所以,这个计时器(除非我搞砸了我的计算)会在第二天 26/09/2020 13:43 用完。
这是我需要的数据,我不知道如何在 mysql 中进行这些计算。
解决方案
推荐阅读
- discord - Discord.py 提到提到的用户
- r - 更改此图中的顺序
- php - Laravel:为什么视图中显示的数据库结果与 Dump&Die 所说的检索结果不同?
- r - 在具有重复唯一值的 Rstudio 中查找重复值的频率
- python - 动态添加小部件后垂直布局格式不佳
- python - 如何在numpy中将(n,)数组添加到(n,m)数组?
- kubernetes - Argo 工作流 - 公平共享资源
- excel - 无需拖动单元格即可自动格式化 Excel 表格
- flutter - Flutter 自定义 Widgets:函数 vs 继承
- r - 无法从 R Studio 中的教程包下载 PDF 或 HTML 文件