从开始日期和结束日期开始,我如何找到当前“活动”的记录?

Posted

技术标签:

【中文标题】从开始日期和结束日期开始,我如何找到当前“活动”的记录?【英文标题】:From a start date and an end date, how do I find what records are currently 'active'? 【发布时间】:2017-04-10 23:27:18 【问题描述】:

我的主数据库表在行上有一个开始日期和一个结束日期,以表示某个试验何时开始或结束。

因此,如果试验在所查询的时间段之前开始和结束,则将被排除在外。如果试用在被查询的时间段之后开始和结束,也应该排除它。

但是,如果试验在该时间段内开始或结束,或者在该时间段结束之前开始并在该时间段结束之后结束,则应包括在内。

我一直在为这个问题摸不着头脑,我无法解决。

这是我现有的有效查询,但似乎包括在所查询的时间段之后开始和结束的试验。

SELECT Count(Trials.Active) AS CountOfActiveTrials
FROM Trials
WHERE (((((Trials.DateStudyOpened)>[Forms]![Startup]![txtReportStartDate] And (Trials.DateStudyOpened)<[Forms]![Startup]![txtReportEndDate]) Or (Trials.DateStudyOpened)<[Forms]![Startup]![txtReportStartDate]) And Not (Trials.DateStudyOpened)>[Forms]![Startup]![txtReportEndDate]) AND (((Trials.DateStudyClosed)>[Forms]![Startup]![txtReportStartDate] And ((Trials.DateStudyClosed)<[Forms]![Startup]![txtReportEndDate]) Or (Trials.DateStudyClosed)>[Forms]![Startup]![txtReportEndDate]) Or (Trials.DateStudyClosed) Is Null));

【问题讨论】:

【参考方案1】:

这就是怎么做,就这么简单:

SELECT Count(Trials.Active) AS CountOfActiveTrials
FROM Trials
WHERE (((Trials.DateStudyOpened)<=[Forms]![Startup]![txtReportEndDate]) AND ((Trials.DateStudyClosed)>=[Forms]![Startup]![txtReportStartDate]));

【讨论】:

以上是关于从开始日期和结束日期开始,我如何找到当前“活动”的记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取当前月份的开始日期和结束日期

如何在Java中获取与01/01不同的日期开始的一年的上一个/当前季度和年份的开始和结束日期

将帐户日期列表透视到缺少日期的帐户开始日期和结束日期

如何选择大于开始日期的结束日期(日期时间选择器)

js如何控制 开始日期 到 结束日期 跨月的判断?

如何在 ACF 日期选择器中限制 Wordpress 中的开始日期和结束日期的两个日期?