重复日期计算器SQL

问题描述 投票:0回答:1

我正在寻找一个与特定日历日期的EVENTS相对应的定期日期计算器。每个事件都有其自己的规则。例如EVENT的规则是“发生在每月的星期二,开始日期为2019年9月17日星期二。即时通讯使用时间维度表,每个日期都填充到2025年。使用这些日期我在WHERE子句中使用过

WHERE dayname = 'tuesday' and ( DATEDIFF(DAY, '2019-09-17', Calendar_Date) % 28 ) = 0 to get monthly tuesdays. 

但是当一个月有两个5个星期二时,我遇到了问题。 3-3-2020和3-31-2020。需要日期填充为4-7-2020,而不是3-31-2020。

任何人都可以提供解决方案的帮助吗?

mysql sql sql-server database ssms
1个回答
0
投票

通过查询,您已经非常接近。所有您需要做的就是子选择

SELECT MIN(CalendarDate) AS CalendarDate
FROM (your query goes here) AS d
GROUP BY YEAR(CalendarDate), MONTH(CalendarDate);

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.