要求:查询工作时间与非工作时间(工作时间:周一周五8:30-17:30,其他时间为非工作时间)

1. 查询工作时间SQL   说明:过滤条件为周1到周5(8:30-17:30)

select create_time, date_format(create_time,'%w') as weekNum
from sys_log_login
where date_format(create_time,'%w') between 1 and 5
    and date_format(create_time,'1%H%i') between 10830 and 11730

查询结果:  格式化日期可以使用 date_format(create_time,'%Y-%m-%d %H:%i:%s')

2. 查询非工作时间SQL   说明:过滤条件为周1到周5(非8:30-17:30)+ 周6 + 周天

select create_time, date_format(create_time,'%w') as weekNum
from sys_log_login
where date_format(create_time,'%w') in(0, 6)
    or (date_format(create_time,'%w') between 1 and 5 and date_format(create_time,'1%H%i')<10830 or date_format(create_time,'1%H%i')>11730)

查询结果:

以上不是基于国家法定工作日,如果严格按照国家法定工作日,则需要再设计一张表:

CREATE TABLE `tb_work_day` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `work_day` date DEFAULT NULL COMMENT '日期',
  `work_day_type` varchar(2) NOT NULL DEFAULT '' COMMENT '0工作日,1法定节假日, 2休息日加班, 3休息日',
  PRIMARY KEY (`id`)
) COMMENT='工作日表';

然后导入日期、类型数据;

这里已经为广大网友准备好了2015-2021每一天日期类型sql数据:https://download.csdn.net/download/mxskymx/33037804

3. 再次查询工作时间SQL

-- 查询法定工作日
select work_day from tb_work_day where work_day_type in ('0', '2')

-- 最终查询SQL ---- 过滤条件为:法定工作日(8:30-17:30)

select create_time, date_format(create_time,'%w') as weekNum
from sys_log_login
where 1=1
    and date_format(create_time,'1%H%i') between 10830 and 11730
    and date(create_time) in (select work_day from tb_work_day where work_day_type in ('0', '2'))

查询结果: 

4. 查询非工作时间SQL

-- 查询法定节假日 + 周末休息日
select work_day from tb_work_day where work_day_type in ('1', '3')

-- 最终查询SQL ---- 过滤条件为:法定休息日 + 法定工作日周1到周5(非8:30-17:30)

select create_time, date_format(create_time,'%w') as weekNum
from sys_log_login
where date(create_time) in (select work_day from tb_work_day where work_day_type in ('1', '3'))
    or (
        date(create_time) in (select work_day from tb_work_day where work_day_type in ('0', '2')) 
        and date_format(create_time,'1%H%i')<10830 or date_format(create_time,'1%H%i')>11730
    )
        
查询结果: 

mysql查询 工作时间段 与 非工作时间段数据,包含法定节假日相关推荐

  1. mysql 查询案例dept,emp表内数据

    mysql 查询案例dept,emp表内数据 部门表 员工表 工资等级表 查询案例: 部门表 CREATE TABLE DEPT( DEPTNO INT PRIMARY KEY, – 部门编号 DNA ...

  2. Mysql查询某字段值重复的数据个数

    说明:表:survey_consumer,字段:province ,统计字段:count 语句说明:查询出survey_consumer表中province字段两个及以上相同的数据(没有重复的数据不会 ...

  3. java获取法定节假日_java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)...

    1.说明: 获取n个工作日后的日期(包含法定节假日.双休日.节后补班),需要在数据库手动入库当年的法定节假日及节假日调休补班.(也可写在配置文件中读取) 2.工具类代码 import java.tex ...

  4. java节假日 调休的代码,java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)...

    1.说明: 获取n个工作日后的日期(包含法定节假日.双休日.节后补班),需要在数据库手动入库当年的法定节假日及节假日调休补班.(也可写在配置文件中读取). 2.工具类代码 /** * @author: ...

  5. java 获取假期时间_java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)...

    1.说明: 获取n个工作日后的日期(包含法定节假日.双休日.节后补班),需要在数据库手动入库当年的法定节假日及节假日调休补班.(也可写在配置文件中读取) 2.工具类代码 import java.tex ...

  6. mysql查询所有分类前三的数据

    设计思路 当mysql查询有很多分类时,可能只需要每种分类的前三或者前十的数据,不需要返回所有的结果,所以我们可以给不同种类的数据添加序号,然后通过序号来筛选结果 例:建一张工人工作质量表,用年份和质 ...

  7. mysql 查询每日、每月、每年数据

    每日 SELECT * FROM(SELECT curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY AS DateFROM(SELECT ...

  8. mysql查询前12个月的数据_MySQL 统计过去12个月的数据(包括本月),mysql本月

    MySQL 统计过去12个月的数据(包括本月),mysql本月 1.问题 需要统计过去12个月的数据,如现在是2015年4月,那么我们需要统计从2014年5月到2015年4月的数据情况.而这12个月中 ...

  9. JAVA工作日历天数(工作日/非工作日)- 基于法定节假日

    1.背景: 很多场景,需要实现统计工作时长,例如:9:00-18:00 以每天工作9小时为1天,同时需要基于法定节假日(即:国务院会在每年最后一个月公布下一年度法定节假日,涉及工作日为休息,休日为补班 ...

最新文章

  1. 对于访问IIS元数据库失败的解决方案
  2. 《WebForm开发系列高级篇》Item2导出EXCEL通用类(GridView,DataList,Repeater,DetailView)
  3. STL之Iterator(迭代器)
  4. 在 ASP.NET Core 中使用托管服务实现后台任务
  5. 【PL/SQL】触发器示例:记录加薪
  6. html5之input标签学习
  7. 新版chrome移动端踩坑
  8. 拓端tecdat|R语言中的划分聚类模型
  9. 计算机等级考试教学论文,计算机等级考试课程教学论文
  10. 【渝粤教育】广东开放大学 计量基础知识 形成性考核 (48)
  11. python2中文乱码
  12. 泰坦尼克号沉没之谜,用数据还原真相——Titanic获救率分析(用pyecharts)
  13. 【报告分享】第二届中国工业互联网大赛成果汇编-中国工业互联网大赛组委会(附下载)
  14. 百鸡问题用计算机什么法解决,《穷举法解决问题》教学设计
  15. VS2017MFC发布打包
  16. 《从你的全世界路过》之稻城
  17. 推荐系统-排序层:主流CTR模型综述【Click-Through-Rate,点击率预估,指精排层的排序】【CTR 模型的输入(即训练数据)是:大量成对的 (features, label)数据】
  18. 面试题之数据库脏读、不可重复读、幻读
  19. R语言进行meta分析教程
  20. ExtJs中定制日历控件——带下拉列表

热门文章

  1. 数字IC设计----AMBA总线协议(来自英文原版)
  2. 上海2015毕业生薪资水平
  3. 【数据库】快速导出表结构到excel中
  4. 便利贴--12{酷炫背景,小球随鼠标移动,可自由设置小球属性}
  5. 运维基础命令和三剑客
  6. CAD二次开发--两条线交叉求交点坐标的方法建议(IntersectWith的使用注意)
  7. minio上传大于30M文件失败
  8. matlab数学模型怎么写,MATLAB-Mathematical-Modeling 当年数学建模比赛时,收集的代码和自己写 ,在这里和大家分享 249万源代码下载- www.pudn.com...
  9. 最好用的三款服装批发进销存软件出炉
  10. linux服务器视频转码,Centos7视频转码服务器