0

所以我会试着解释一下:

我有日期选择器,您可以在其中选择 2 个日期(开始和结束)。

例如:01-01-2012 到 11-12-2012

现在我将使用这些日期在表格中搜索工作:

开始日期工作:2012 年 10 月 10 日结束日期工作:2012 年 12 月 20 日

结果我想得到那份工作,因为这份工作在这两个日期之间运行。

我尝试使用 BETWEEN ,但这似乎对我不起作用。有人可以帮我查询吗?当然,我将日期格式转换为 yyyy-mm-dd。

关键是我想展示这份工作,即使只有 1 天在 datepicker 日期的范围内。

4

2 回答 2

3

您正在寻找 2 个日期范围的交集。因此,给定日期范围 d1 和 d2,您知道 d2.start 必须在 d1.end 之前发生。您还知道 d2.end 必须在 d1.start 之后发生。如果两个条件都为真,那么你就有重叠。在 SQL 中:

SELECT d.* 
FROM thedates d
WHERE d.jobstart < $myenddate
  AND d.jobend > $mystartdate

为清楚起见,ETA 图:

在此处输入图像描述

于 2012-12-11T14:53:42.627 回答
0

只需将语句用作

SELECT * FROM dummydb.tblorders t where t.date_purchased >= '2012-03-24 00:00:00' and t.date_purchased <= '2012-03-24 23:59:59';
于 2012-12-11T14:41:34.947 回答