php - 在 3 个日期范围内搜索记录

标签 php mysql date datetime time

我需要从数据库表中输出数据,该表选择 3 个(而不是 2 个)日期/时间范围之间的记录

例如开始时间:2019-09-07 18.00 结束时间:2019-09-07 20.00

因此用户应该能够在事件期间看到开始日期时间(6.p.m - 18.00)前 25 分钟的记录,但不能在结束日期时间(8.p.m -20.00)之后看到记录。

我试过了

db->query = "SELECT o_id, schedule, date, start_time, end_time FROM working_schedule WHERE o_id = '".$user_id."'
AND (start_time <= '".date('Y-m-d\TH:i:s', strtotime("-25 minutes"))."' AND start_time >= '".date('Y-m-d\TH:i:s')."') 
AND end_time >= '".date('Y-m-d\TH:i:s')."'";

但结果为NULL。

供引用HERE'S一个 sql fiddle 。

预先感谢您为我指明正确的方向。

最佳答案

你需要这个吗?

 select * from working_schedule
 where
 NOW() BETWEEN DATE_SUB(start_time,INTERVAL 25 MINUTE)  AND end_time

关于php - 在 3 个日期范围内搜索记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57836037/

相关文章:

php - MYSQL 中具有多行获取的存储过程不起作用?

php - 如何在带有 php 的 ubuntu 服务器上使用 Ghostscript 将 .docx 文件转换为 pdf

javascript - 如何使用 JavaScript 动态替换 SQL 查询的一部分

python - 重建索引以将缺失日期添加到 Pandas 数据框

iphone - 如何获取整数格式的 NSDate 日、月、年?

javascript - 如何将十进制小时值转换为 hh :mm:ss

php - Laravel Eloquent ORM 多对多搜索查询

php - 如何使用 php 删除/删除 mySQL 中的特定表行?

mysql - 显示 2 个不同日期的数据

mysql - 具有多个 INNER JOINS 和 WHERE 条件的 SQL Select 语句