如何从雪花中的日期导出ISO月份

问题描述 投票:0回答:1

似乎以下函数 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 snowflake-cloud-data-platform
1个回答
0
投票

所以如果我稍微解构一下你的 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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.