Когда вы проводите сравнение из года в год, удобно иметь возможность сравнивать ISOWEEK. Функция DATE_ADD
или DATE_SUB
BigQuery не может работать с ISOWEEK, поэтому я решил просто изменить год (+/- 1) и затем вернуть дату начала номера недели ISOWEEK с помощью функции PARSE_DATE
, но
это работает:
SELECT FORMAT_DATE("%G-%V", DATE('2019-04-15'))
-> 2019-16
это не работает:
SELECT PARSE_DATE("%G-%V", "2018-16")
-> 1970-01-01
Существует также функция DATE_TRUNC
, которая возвращает дату начала ISOWEEK
для любой заданной даты, поэтому я ожидал, что функция PARSE_DATE
будет вести себя таким же образом при разборе строки с ISOYEAR
а и ISOWEEK
.
В документации явно указаны ISOYEAR
%G
и ISOWEEK
%V
в качестве поддерживаемых аргументов. Я что-то здесь упускаю?