我在 Mysql 中有一个表,用于存储员工的休息日。 该表的结构如下:
Name | vacation_date_start | vacation_time_start | vacation_date_end | vacation_time_end
显然,开始日和结束日只能是一天,但也可以不同,例如:
Name | vacation_date_start | vacation_time_start | vacation_date_end | vacation_time_end
E1 | 2018-05-15 | 00:00:01 | 23:59:59 | 2018-05-15
E2 | 2018-05-01 | 00:00:01 | 23:59:59 | 2018-05-30
E3 | 2018-05-05 | 00:00:01 | 23:59:59 | 2018-05-20
假设今天是 5 月 15 日,我想要一个查询来选择今天休假的所有员工。 如果我使用像
这样的查询SELECT * FROM `events` WHERE `date_start` = '2018-05-15'
我只会看到 E1。
我怎样才能看到另外 2 名员工?
P.S:我无法访问写入此表的软件,因此无法编辑在数据库中写入的方式
最佳答案
您可以在
之间使用SELECT *
FROM `events`
WHERE '2018-05-15' BETWEEN vacation_date_start AND vacation_date_end
关于mysql - 选择 mysql 中只有开始日期和结束日期的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619374/