当前位置:首页 » 编程语言 » sql时间交集

sql时间交集

发布时间: 2024-02-02 14:26:20

sql合并多个时间段

如果是oracle 我会使用一个临时表,包含人员,持续开始时间,持续结束时间,处理任务,处理方法如下

  • 首先取出某员工一天的所有工作记录,按开始时间排序后逐条处理

  • 首先将第一条记录插入到临时表中,持续开始时间为 开始时间,持续结束时间为结束时间,处理任务为1;

  • 在取到后续记录时,作如下处理

  • 如果开始时间 > 临时表中已经存在的所有结束时间,则新增一条记录,与第一条处理方式一致;

  • 如果开始时间 <=临时表中已经存在的某一结束时间处理如下

  • 如果 结束时间 <=临时表中已经存在的某一结束时间,不作任何插入和更新;

  • 如果 结束时间 >临时表中已经存在的某一结束时间,更新临时表中对应记录为当前取到的结束时间;

  • 按照以上规则直至所有数据均处理完成,此时临时表中获得的是不重叠的所有工作时间,采用group 即可获得一天是实际工作时间,进而可以求出休息时间。

热点内容
struts2实现文件上传 发布:2025-09-19 04:40:36 浏览:892
php获取图片名 发布:2025-09-19 04:35:22 浏览:572
qq电脑聊天缓存不安全 发布:2025-09-19 03:43:38 浏览:365
大话2脚本制作 发布:2025-09-19 03:25:47 浏览:500
脚本精灵用的什么语言 发布:2025-09-19 03:21:32 浏览:850
微型机常用的存储器 发布:2025-09-19 03:18:17 浏览:472
迷你世界脚本编辑代码在哪里 发布:2025-09-19 03:17:40 浏览:377
我的世界110服务器的天域组织 发布:2025-09-19 02:49:36 浏览:802
为什么安卓手机使用久了会变卡 发布:2025-09-19 02:49:36 浏览:881
国家校时服务器ip 发布:2025-09-19 02:45:18 浏览:927