mysql - 选择 mysql 中只有开始日期和结束日期的事件

标签 mysql select

我在 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  

Demo

关于mysql - 选择 mysql 中只有开始日期和结束日期的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619374/

相关文章:

MySQL JOIN/IN 性能优化

mysql - 通过连接表 2 中的信息来更新表 1 中的列

c# - FileStream 错误 - 进程无法访问文件...被另一个进程使用

SQL查询从两个表中获取不匹配的记录

mysql - SQL 查询检查列是否包含某些数据

PHP PDO 选择查询不返回任何结果

C#:DataTable 只获取一行搜索结果

javascript - 使用 XMLHttpRequest 的 PHP/Mysql 查询无法检索要显示的图像

javascript - 从选择列表创建自动链接

具有多个具有相同值的条目的 JQuery 选择选项