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;