雪花检索当月特定日期上个月的数据

问题描述

我是 SNowflake 的新手,我的经理希望我在当月的 5 号时检索上个月的数据。例如,如果今天是 4 月 5 日,则要求雪花检索过去一个月的数据,即从 2021 年 3 月 1 日到 2021 年 3 月 31 日,其他月份均类似。

他之所以要在下个月的5号更新上个月的数据,是因为那天是我们拿到数据的日子。

我尝试使用 DATEADD 函数,但它比仅使用此函数要复杂。

提前致谢!

PS:每个月的数据都有相同的日期。例如:日期就像 - 4 月 20 日将在数据库中存储为“2021-4-01” - 4 月 25 日的日期将存储为“2021-4-01”。

数据库中的日期不会改变,只会改变月份和年份。

解决方法

关于可以通过 DATE_TRUNC 和 DATEADD 完成的上个月窗口

__ARM_FEATURE_FP16_VECTOR_ARITHMETIC

给出:

select 
    current_date as cd,date_trunc('month',cd) as end_range,dateadd('month',-1,end_range) as start_range
    ;

问题的另一半只在5号做,如果你有每天运行的任务等可以通过

解决
CD          END_RANGE   START_RANGE
2021-04-21  2021-04-01  2021-03-01

或者如果是内联方式

,day(current_date) = 5 as is_the_fifth