BigQuery - Legacy SQL: если сегодня ретроспективный просмотр в понедельник 3, если не в обратный просмотр 1
Использование BigQuery и Legacy SQL. Я пытаюсь изменить свое утверждение WHERE, чтобы оно оглядывалось на 3 дня назад, если текущая дата - понедельник, в противном случае оглянись назад 1.
Я не могу понять, как это сделать.
В настоящее время я просто смотрю, является ли дата текущей датой -1.
Текущий код:
WHERE
TIMESTAMP(o.last_modified_on) > DATE_ADD(TIMESTAMP(CURRENT_DATE()), -1, 'DAY')
Любое руководство будет оценено.
Думая что-то в этом направлении (примечание: это не работает)
Where CASE TIMESTAMP(ii.last_modified_on) = TIMESTAMP(CURRENT_DATE()) WHEN
DAYOFWEEK(TIMESTAMP(ii.last_modified_on)) = 2 THEN
DATE_ADD(TIMESTAMP(CURRENT_DATE()), -3, 'DAY') ELSE
DATE_ADD(TIMESTAMP(CURRENT_DATE()), -1, 'DAY') END
1 ответ
WHEN TIMESTAMP(o.last_modified_on) >
CASE WHEN DAYOFWEEK(CURRENT_TIMESTAMP()) = 2
THEN DATE_ADD(CURRENT_TIMESTAMP(), -3, 'DAY')
ELSE DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')
END