【问题标题】:Return results from full months从整月返回结果
【发布时间】:2018-11-08 22:31:54
【问题描述】:

我目前有一个数据集,其中结果范围跨越日期:15-01-201730-04-2018

因此,我的min(date) 将是15-01-2017

但是,我想返回结果,如果我的 min(date) 不是一个完整的月份,它应该从下一个完整的月份开始给我结果(即:01-02-201730-04-2018)。

希望能找到方向

谢谢

【问题讨论】:

    标签: date teradata min


    【解决方案1】:

    这将返回下个月的开始,除非它是当月的第一天:

    trunc(add_months(min(datecol)-1,1), 'mon') 
    

    在最小日期的前一天加上一个月(即只有 1 号会导致上个月),然后得到该月的 1 号。

    根据您的实际查询,您可以使用

    进行过滤
    qualify datecol >= trunc(add_months(min(datecol) over (partition by ??)-1,1), 'mon') 
    

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 2019-09-03
      • 2016-09-03
      相关资源
      最近更新 更多