BigQuery - 传统SQL:如果今天是星期一回顾3,如果不回顾1

时间:2018-01-29 18:01:18

标签: google-bigquery legacy-sql

使用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 个答案:

答案 0 :(得分:0)

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