我目前有一个数据集,其中结果范围跨越日期:15-01-2017
到30-04-2018
因此,我的min(date)
将为15-01-2017
。
但是,我想返回结果,如果我的min(date)
不是一个完整的月份,它应该会从下个整月开始给我结果(例如:01-02-2017
到30-04-2018
)
希望得到一些方向
谢谢
答案 0 :(得分:0)
这将返回下个月的开始,除非它是本月的第一个月:
trunc(add_months(min(datecol)-1,1), 'mon')
在分钟日期前一天加一个月(即只有一个月会产生上个月),然后到那个月的第一天。
根据您的实际查询,您可以使用
进行过滤qualify datecol >= trunc(add_months(min(datecol) over (partition by ??)-1,1), 'mon')