使用日列创建汇总的周列,并使用一周的第一个星期一填充该值:雪花数据库



Snowflake Database: 我有一个日级别表,我正在尝试使用以下函数使用日列创建一个周列,将一周的第一个星期一的值作为周值。即使该表包含一周中所有七天(星期一到星期日(的数据。以下函数将创建一个包含五个工作日(周一至周五(的周列,最多只汇总到离开周六和周日的一周。是否有任何功能可用于在雪花数据库中(一周的第一个星期一(中获取一周内的所有七天数据。

当前使用的功能: 选择 DateAdd('day', (extract('dayofweek_iso', current_date((( * -1( +1 , current_date(( (;

Snowflake 提供了 DATE_TRUNC(( 将日期汇总到相应的年/月/周/日。

对于上述用例,以下查询将汇总到一周的星期一。

select date_trunc('WEEK',current_date()) ;

可以使用Snowflake last_day((函数来实现这一点。您可以轻松获得一周的最后一天(星期日(并减去 6 天以获得该周的第一天(星期一(,如下所示:

select last_day(current_date(), 'week')-6 as first_day_of_week;

最新更新