1
캘린더 차원의 일부로 iso_week_start_date, iso_week_end_date 및 iso_week_number를 채울 필요가 있습니다. 이 필드를 제외하고 캘린더 차원을 작성할 수있었습니다. 감사.날짜 차원에 대한 iso_week_start_date 및 iso_week_end_date를 계산하는 방법은 무엇입니까?
캘린더 차원의 일부로 iso_week_start_date, iso_week_end_date 및 iso_week_number를 채울 필요가 있습니다. 이 필드를 제외하고 캘린더 차원을 작성할 수있었습니다. 감사.날짜 차원에 대한 iso_week_start_date 및 iso_week_end_date를 계산하는 방법은 무엇입니까?
Snowflake는 ISO 주 첫날을 가져 오는 DATE_TRUNC(WEEK, ..)
을 제공합니다. 그런 다음 6 일을 추가하면 마지막 날이됩니다. 그리고 예를 들어도 DATE_EXTRACT(WEEK, ..)
(또는 단순히 WEEK(..)
)
을있다 :
select extract(week, '2017-10-10'::date), date_trunc(week, '2017-10-10'::date), dateadd(day, 6, date_trunc(week, '2017-10-10'::date));
-----------------------------------+--------------------------------------+-------------------------------------------------------+
EXTRACT(WEEK, '2017-10-10'::DATE) | DATE_TRUNC(WEEK, '2017-10-10'::DATE) | DATEADD(DAY, 6, DATE_TRUNC(WEEK, '2017-10-10'::DATE)) |
-----------------------------------+--------------------------------------+-------------------------------------------------------+
41 | 2017-10-09 | 2017-10-15 |
-----------------------------------+--------------------------------------+-------------------------------------------------------+
은 자세한 내용에 대한 설명서를 참조 ISO 주 조금 이상한 의미를 가지고 있음을 기억하십시오.
감사합니다. Marcin. 이것은 매우 도움이됩니다. 이것은 Snowflake가 ISO 날짜를 기본적으로 지원한다는 의미입니까? 그런 다음 특정 날짜의 정규 주 번호 (ISO가 아님)를 얻으려면 어떻게해야합니까? 거기에 다른 기능이 있습니까? SF 문서 "dayofweek_iso"에서 찾을 수있는 함수가 하나 있습니다. 다른 기능을 알고 있습니까? 나는 문서에서 그러한 것을 발견 할 수 없었다. – Mohit
오늘, Snowflake는 주로 ISO 기반의 주 기능을 제공합니다. 예를 들어 WEEK는 ISO 주를 반환합니다. 또한 Snowflake는 곧 주 관련 기능을 추가로 제공 할 예정입니다. 바라건대 이번 분기에. 이것은 귀하의 요구 사항을 해결해야합니다. –
Btw,보고 싶은 기능과 정확히 일치하는 기능을 제공 할 수 있다면 가능한 한 자세하게 설명을 추가하십시오. 예를 들어 12 월 31 일이 해당 연도의 주 (예 : 52 또는 53)에 속해 있거나 다음 해의 1 주에 속할 수 있도록 하시겠습니까? 후속 조치 주셔서 감사합니다. –