如何从 Bigquery 中提取过去 3 天的数据,不包括今天和昨天的数据



Using standars SQL.当表由通配符表组成时。 我尝试使用这个:

SELECT * 
FROM `Resourse.Reports_Reg.Session_streaming`
WHERE
SUBSTR(_table_suffix, 0, 6) =
FORMAT_DATE("%E4Y%m", DATE_SUB(CURRENT_DATE, INTERVAL 3 day))

我认为,此请求应返回过去 5 天的数据。但我仍然不明白它返回给我什么数据。如何提取过去 3 天的数据,不包括今天和昨天的数据

实际上,鉴于您的查询没有通配符,您不会选择任何内容_table_suffix

例如,如果您的表具有如下名称结构:

`Resourse.Reports_Reg.Session_streaming_20170820`

其中最后一个字符串是格式为"%Y%m%d"的日期,则可以像这样选择过去的第三天和第二天:

SELECT 
* 
FROM `Resourse.Reports_Reg.Session_streaming_*`
WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE, INTERVAL 3 day)) AND FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE, INTERVAL 2 day))

请注意,例如,通配符"*"选择日期"20170820"。之后,只有一个 where 子句选择适当的日期。

最新更新