Я не могу понять почему
SELECT YEAROFWEEK('2017-01-01T00:00:00.000+00:00'::timestamp)
возвращает "2016"
SELECT WEEK('2017-01-01T00:00:00.000+00:00'::timestamp)
возвращает "52"
Может кто-нибудь помочь мне понять?
Я не могу понять почему
SELECT YEAROFWEEK('2017-01-01T00:00:00.000+00:00'::timestamp)
возвращает "2016"
SELECT WEEK('2017-01-01T00:00:00.000+00:00'::timestamp)
возвращает "52"
Может кто-нибудь помочь мне понять?
Вот документ для политики недели года, которая определяет, как это работает: https://docs.snowflake.net/manuals/sql-reference/parameters.html#week-of-year-policy
Пример может помочь. week_of_year_policy по умолчанию имеет значение 0 для вновь созданных учетных записей.
select YEAROFWEEK('2017-01-01T00:00:00.000+00:00'::timestamp) as yow
, WEEK('2017-01-01T00:00:00.000+00:00'::timestamp) as w;
+------+----+
| YOW | W |
+------+----+
| 2016 | 52 |
+------+----+
alter session set week_of_year_policy = 1;
select YEAROFWEEK('2017-01-01T00:00:00.000+00:00'::timestamp) as yow
, WEEK('2017-01-01T00:00:00.000+00:00'::timestamp) as w;
+------+---+
| YOW | W |
+------+---+
| 2017 | 1 |
+------+---+
Немного покопавшись, я получил свой ответ от https://docs.snowflake.net/manuals/sql-reference/parameters.html#week-of-year-policy