从完整月份返回结果

时间:2018-05-30 07:09:10

标签: date teradata min

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

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

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

希望得到一些方向

谢谢

1 个答案:

答案 0 :(得分:0)

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

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

在分钟日期前一天加一个月(即只有一个月会产生上个月),然后到那个月的第一天。

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

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