查询周末加班(最早打卡在8.31之前,最晚打卡在17.30之后)的人员名单。

CREATE TABLE IF NOT EXISTS attendance (
id int(11) NOT NULL AUTO_INCREMENT,
time datetime NOT NULL COMMENT '打卡时间',
employee_id varchar(30) NOT NULL COMMENT '员工id',
employee_name varchar(50) DEFAULT NULL COMMENT '员工姓名',
workcode varchar(30) DEFAULT NULL,
status varchar(30) DEFAULT NULL,
authority varchar(30) DEFAULT NULL,
card_src varchar(30) DEFAULT NULL,
type varchar(30) DEFAULT NULL,
create_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (id),
UNIQUE KEY employee_time_UNIQUE (time,employee_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


SELECT employee_name FROM attendance
where DAYOFWEEK(time) in(1,7) and (DATE_FORMAT(time,'HH:mm' )<='08:31'or DATE_FORMAT(time,'HH:mm')>='19:30')

SELECT * FROM attendance
WHERE 打卡时间 <= '周日 08:30:00'
OR 打卡时间 >= '周日 17:30:00'
AND time like '周日%'

SELECT employee_name, DAYOFWEEK(time) as week, DATE_FORMAT (time, '%H%i') as date FROM attendance where (week = 1 or week = 7 ) and date < 831 and date > 1730