将天数添加到日期列,然后检查它是否在两个日期之间 SQL



我需要一个sql查询从员工表中查找数据。起始日期出现在雇员表中。我需要在起始日期中添加90天,然后我需要检查起始日期是否在当前月份。

I did try below query:

SELECT * 
FROM `employees` 
WHERE DATE_ADD(str_to_date(startdate, '%m/%d/%Y'),INTERVAL 90 DAY) BETWEEN '09/01/2016' AND '09/30/2016'

但是它没有给我预期的结果。(如果查询是正确的,我确实有数据应该显示)

你好,我更改了查询并运行,请查看结果。我也在看下个月的结果

这是查询SELECT id,startdate from employees WHERE str_to_date(startdate, '%m/%d/%Y')之间的DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 90天)——本月初- 90天和DATE_SUB(LAST_DAY(NOW()), INTERVAL 90天)

查询输出

rephrned my query…

事件发生在本月初和月底前90天内

WHERE str_to_date(startdate, '%m/%d/%Y') between 
    DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 90 day)  -- start of this month - 90 days
    and DATE_SUB(LAST_DAY(NOW()), INTERVAL 90 day) -- End of this month - 90 days

或三个月

WHERE str_to_date(startdate, '%m/%d/%Y') between 
    DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 3 month)  -- start of this month - 3 months
    and DATE_SUB(LAST_DAY(NOW()), INTERVAL 3 month) -- End of this month - 3 months

最新更新