似乎以下函数 sql 无法在雪花中导出。
TO_VARCHAR(DATE_TRUNC(''MONTH'', TO_DATE(YEAROFWEEKISO(DATE) || ''-01-01'', ''YYYY-MM-DD'') + (ISO_WEEK_NUMBER - 1) * 7), ''YYYY-MM'') AS ISO_MONTH
如何在雪花中导出ISO_MONTH
所以如果我稍微解构一下你的 SQL:
select
_date,
YEAROFWEEKISO(_DATE) as iso_year,
WEEKISO(_date) as iso_week,
TO_DATE(YEAROFWEEKISO(_DATE) || '-01-01', 'YYYY-MM-DD') as aa,
DATE_FROM_PARTS(YEAROFWEEKISO(_DATE),1,1) as alternative_aa,
DATE_TRUNC('MONTH', aa + (WEEKISO(_date) - 1) * 7) as bb,
TO_VARCHAR(bb, 'YYYY-MM') AS ISO_MONTH
from values
('2024-04-30'::date)
as t(_date);
这有效,我必须从
ISO_WEEK_NUMBER
交换到在日期上起作用的函数,又名 WEEKISO
。