![](/img/trans.png)
[英]How to pull the past two years of data, but not the data in the current month in SQL
[英]Snowflake retrieving data of past month on a particular date of current month
我是雪花的新手,我的經理希望我在本月 5 日檢索過去一個月的數據。 例如,如果今天是 4 月 5 日,那么讓雪花檢索過去一個月的數據,即從 2021 年 3 月 1 日到 2021 年 3 月 31 日,其他所有月份都類似。
他之所以要在每個下個月的5號更新上個月的數據,因為那是我們獲取數據的那一天。
我嘗試使用DATEADD
function 但它比僅使用此 function 更復雜。
提前致謝!
PS:每個月的數據都有相同的日期。 例如:日期就像 - 4 月 20 日將在數據庫中存儲為“2021-4-01” - 與 4 月 25 日相同的日期將存儲為“2021-4-01”。
數據庫中的日期沒有變化,只有月份和年份。
至於上個月 window 可以通過 DATE_TRUNC 和 DATEADD 完成
select
current_date as cd
,date_trunc('month', cd) as end_range
,dateadd('month', -1, end_range) as start_range
;
給出:
CD END_RANGE START_RANGE
2021-04-21 2021-04-01 2021-03-01
問題的另一半只在 5 日做,如果你每天都有任務運行等可以通過
,day(current_date) = 5 as is_the_fifth
或者如果以內聯方式
iff(day(current_date) = 5, <do true stuff>, <do false stuff>)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.