【问题标题】:Filter All Data Using Start and End Date Column使用开始和结束日期列过滤所有数据
【发布时间】:2018-05-03 23:57:19
【问题描述】:

我应该如何过滤从开始到结束日期的所有数据?我有 2 列 - 一列用于开始日期,另一列用于结束列。

我想选择所有具有特定开始和结束日期的数据。

例如:
2018 年 8 月至 2018 年 9 月

数据:

这是我的查询:

SELECT * FROM project_monitoring pm INNER JOIN status s ON pm.status_ID = s.status_ID WHERE /*select all started from this date format MDY or MY or Y */ pm.proj_DateStarted = '2018-04-19' /*this end date format MDY or MY or Y */ pm.proj_DateEnded = '2018-03-08' 

【问题讨论】:

  • 即使有一个像时空这样的名字,我也觉得一个项目可能在它开始之前就结束了。

标签: mysql sql


【解决方案1】:

如果我理解正确的话。

你可以尝试使用BETWEEN

SELECT * FROM project_monitoring pm 
INNER JOIN status s ON pm.status_ID = s.status_ID 
WHERE (pm.proj_DateStarted BETWEEN '2018-08-01' AND '2018-09-01') 
OR (pm.proj_DateEnded BETWEEN '2018-08-01' AND '2018-09-01')

【讨论】:

  • 让我试试这个;)
  • 应该是..(从开始和结束之间开始)或(在结束和开始之间结束)在你的答案上编辑你的日期:) 谢谢
  • @スペースタイム 告诉受访者他们应该做什么可能不是最好的主意。
【解决方案2】:

这是你要找的吗?

select * from project_monitoring pm 
INNER JOIN status s ON pm.status_ID = s.status_ID 
where pm.proj_datestarted>=yourstartdate and 
pm.proj_dateended<=yourenddate 

【讨论】:

  • 请描述您现在得到了什么以及您的预期结果是什么
【解决方案3】:

SELECT * FROM Table_name WHERE (start_date BETWEEN aaa AND bbb ) AND (last_date BETWEEN ccc AND ddd) 。

如果我正确理解了这个问题,我认为这应该很简单。

【讨论】:

    猜你喜欢
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    相关资源
    最近更新 更多