【发布时间】:2019-06-11 14:07:30
【问题描述】:
我试图在 where 子句中包含一种根据我当前时区自动提取前一天数据的方法。我的所有数据都使用 UTC 时间戳存储。
我可以将时间戳从 UTC 更改为我的时区(“美国/芝加哥”),并且可以自动提取过去 X 天的数据;例如,对于前一周,无需手动输入日期。但我无法弄清楚如何在我的 where 子句中同时执行这两项操作。
SELECT *
FROM `my-data-set`
WHERE
event_time >= CAST(DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AS TIMESTAMP)
AND event_time < CAST(DATE_SUB(CURRENT_DATE(), INTERVAL 0 DAY) AS TIMESTAMP)
我希望能够查看我所在时区的前一周或前一天,而不是前一个 UTC 日期。
【问题讨论】:
-
顺便说一句,在表/列标识符中使用“-”是一个非常糟糕的主意。
标签: sql google-bigquery