gpt4 book ai didi

mysql - 具有 start_date 和 end_date 的行需要返回某个日期范围内的记录

转载 作者:行者123 更新时间:2023-11-30 00:02:42 25 4
gpt4 key购买 nike

我有一个包含任务的表,每个任务都有一个 date_start 和 date_finish 字段。

我需要构造一个查询,该查询将接受传入的日期,如果传入的日期介于 date_start 和 date_finish 之间,则返回所有行。

这有道理吗?

我一直在尝试使用标准日期类型查询,例如:

SELECT *
FROM project_task
WHERE project_task.date_start >= '2013-10-10' AND project_task.date_finish <= '2013-10-10'

但它不会返回正确的结果,并且使用 BETWEEN 也不起作用,因为我需要它考虑两个字段(date_start 和 date_finish)而不仅仅是一个字段。

我认为这可能只是我需要的查询的 WHERE 部分。

最佳答案

你犯了一个简单的错误,你的运算符的顺序错误:

SELECT *
FROM project_task
WHERE
project_task.date_start <= '2013-10-10' -- start should before the test date
AND
project_task.date_finish >= '2013-10-10' -- and finish after the test date

说明

如果检查的日期在 date_start 和 date_finish 之间,那么我们一定最终到达了开始日期。我们也可以推迟约会。这意味着

date_start will be lower or equal than the date checked

第二次检查显示:完成日期不得已过。所以

date_finish has to be greater or equal than the date checked.

根据您的原始查询,您只会获得在“2013-10-10”开始和结束的项目。

<强> Demo

关于mysql - 具有 start_date 和 end_date 的行需要返回某个日期范围内的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892388/

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