我有一个表,表中有以下结构和数据
Product startdate enddate
ProdA 01/01/2020 15/01/2020
ProdB 29/01/2020 02/02/2020
ProdC 02/02/2020 03/03/2020
ProdD 20/12/2019 20/12/2020
我需要一个sql查询红移,返回我所有的产品,这是有效的一个月我提供。如果产品在开始日期和结束日期之间的某个月有任何一天,则该月的有效期视为有效
因此,如果我传递的日期是2020年1月1日(例如,如果您希望将其格式化为yyyy-mm,则可以根据解决方案进行修改),我将查找在2020年1月有效的记录,并希望返回以下产品
普罗达普罗达
1条答案
按热度按时间qkf9rpyu1#
您可以使用以下逻辑:
也就是说,如果开始日期在月底之前,而结束日期在月初或之后,则存在重叠。