Select 列包含 start_time 和 end_time 之间的日期

Select column contains date between start_time and end_time

例如,我有 table 列

 start_time          | end_time            | ipaddr         |
 2021-12-19 13:14:32 | 2022-01-12 21:40:46 | 10.168.100.1   |
 2021-12-03 20:30:21 | 2022-02-24 21:40:46 | 10.224.89.95   |
 2021-12-19 12:32:47 | 2022-02-27 21:20:46 | 10.18.71.33` 

如果我想要 select 行(例如日期 2022-02-25 和 2022-03-25 之间的日期),我需要在 mysql 中使用什么 select 问题。 start_time或end_time的结果可能早些或晚些,但如果某一天在这个范围内,则显示一条记录?

您必须构建一个查询来验证是否发生了 4 种可能的重叠情况之一:

SELECT *
FROM table
WHERE
(
my_start BETWEEN start_time AND end_time
OR
my_end BETWEEN start_time AND end_time
OR
start_time BETWEEN my_start AND my_end
OR
end_time BETWEEN my_start AND my_end
)

其中my_start和my_end是您要查询的范围内的日期。