답변

0

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 주 조금 이상한 의미를 가지고 있음을 기억하십시오.

+0

감사합니다. Marcin. 이것은 매우 도움이됩니다. 이것은 Snowflake가 ISO 날짜를 기본적으로 지원한다는 의미입니까? 그런 다음 특정 날짜의 정규 주 번호 (ISO가 아님)를 얻으려면 어떻게해야합니까? 거기에 다른 기능이 있습니까? SF 문서 "dayofweek_iso"에서 찾을 수있는 함수가 하나 있습니다. 다른 기능을 알고 있습니까? 나는 문서에서 그러한 것을 발견 할 수 없었다. – Mohit

+0

오늘, Snowflake는 주로 ISO 기반의 주 기능을 제공합니다. 예를 들어 WEEK는 ISO 주를 반환합니다. 또한 Snowflake는 곧 주 관련 기능을 추가로 제공 할 예정입니다. 바라건대 이번 분기에. 이것은 귀하의 요구 사항을 해결해야합니다. –

+0

Btw,보고 싶은 기능과 정확히 일치하는 기능을 제공 할 수 있다면 가능한 한 자세하게 설명을 추가하십시오. 예를 들어 12 월 31 일이 해당 연도의 주 (예 : 52 또는 53)에 속해 있거나 다음 해의 1 주에 속할 수 있도록 하시겠습니까? 후속 조치 주셔서 감사합니다. –