gpt4 book ai didi

mysql - MySql 多个日期时间范围

转载 作者:行者123 更新时间:2023-11-29 15:28:38 24 4
gpt4 key购买 nike

我有一张 table

---------+-----------+------------------+--------------------+
| id | user_id | start_date_time | end_date_time |
+---------+---------+-------------------+--------------------+
| 1 | 11 |2019-11-17 20:10:00|2019-11-17 21:05:00 |
| 2 | 11 |2019-11-17 20:18:00|2019-11-17 20:35:00 |
| 3 | 11 |2019-11-17 20:32:00|2019-11-17 21:18:00 |
| 4 | 11 |2019-11-17 20:40:00|2019-11-17 20:50:00 |
| 5 | 11 |2019-11-17 20:45:00|2019-11-17 21:20:00 |
| | | | |
+---------+---------+-------------------+--------------------+

Scenario 1 - If i query for all greater than '2019-11-17 20:18:00' I need to get all records.
Scenario 2 - If i query for all possible dates greater or equals '2019-11-17 21:18:00' It should return record 3 and 5.

对于任何给定时间,它应该查找 Start_date_time 和 End_date_time,其中给定时间应被视为开始时间,并且它应该查找适当的 end_date_time 并输出结果。

简而言之,输入时间应作为起始范围,它应查找 End_date_time 并给出其间的所有值。

我怎样才能做到这一点?

我在 db-fiddle https://www.db-fiddle.com/f/bPk1CYioL6cVasStZKzQ4j/7 上尝试了以下方法

如果我查询给定时间的所有记录,例如(2019-11-17 20:18:00),输入应被视为范围的开始日期时间,并查找最大的 end_date_time 并给我它们之间的记录。示例 2019-11-17 20:18:00 此输入采用范围 2019-11-17 20:18:002019 之间的输入作为 val1 -11-17 21:20:00 最高结束日期并提供其间的所有记录。如果我使用输入 2019-11-17 21:05:00 进行查询,则应将起始范围 val1 设为 2019-11-17 21:05:002019-11-17 21:20:00输出1,3,5条记录。

最佳答案

要求(以及您期望的结果)就这么简单:

select * 
from times
where ? <= end_date_time

? 替换为您要查询的日期时间。
请参阅demo .

关于mysql - MySql 多个日期时间范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58894554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com