如何在 BigQuery 上获得“上周一”?

Fel*_*ffa 1 google-bigquery

使用 BigQuery,我需要找出“上周一”是什么时候。我如何计算这个日期?

例如,今天是星期一,所以如果调用该公式应该返回今天的日期。昨天它应该返回上个月的 27 号。

基于https://blog.svpino.com/2015/08/03/how-to-determine-last-mondays-date-in-bigquery

Mik*_*ant 9

下面是 BigQuery 标准 SQL

#standardSQL
SELECT DATE_TRUNC(CURRENT_DATE(), WEEK(MONDAY))
Run Code Online (Sandbox Code Playgroud)


Fel*_*ffa 2

正如圣地亚哥·皮诺在他的博客上发表的

select 
    date(date_add(current_date(), 
    if(dayofweek(current_date()) = 1, 
        -6, 
        -(dayofweek(current_date()) - 2)), 
    "DAY"))
Run Code Online (Sandbox Code Playgroud)

经许可复制)