【问题标题】:Retrieve all Records for a particular Month using start_end and end_date使用 start_end 和 end_date 检索特定月份的所有记录
【发布时间】:2021-04-27 23:58:32
【问题描述】:

我有一个具有以下结构和数据的表

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

我需要一个用于 redshift 的 sql 查询,它返回我提供的一个月内有效的所有产品。如果该产品在开始日期和结束日期之间有该月的任何一天,则考虑该月的有效期

因此,如果我要通过日期 01/01/2020(例如,如果您想将其格式化为 YYYY-mm,则可以根据解决方案进行修改。)我正在寻找 2020 年 1 月有效的记录,并且会预计返回以下产品

ProdA 生产分贝 产品

【问题讨论】:

    标签: sql amazon-web-services amazon-redshift


    【解决方案1】:

    你可以使用这个逻辑:

    where startdate <= last_day('2020-01-01') and
          enddate >= '2020-01-01'
    

    也就是说,如果开始日期在月末之前,而结束日期在月初或之后,则存在重叠。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 2012-11-23
      相关资源
      最近更新 更多