Google bigquery 将日期转换为BQ中的yyyymmdd格式(标准)
平台:BigQuery(标准) 我有一个按天划分的表(table_name_20180101),我正在尝试编写一个查询,以便在任何给定的一天,它只在前7天的表上工作 (例如,今天我想让它运行在:table_name_20180607,table_name_20180608,一直到_20180613) 我试图通过以下语法达到这个结果Google bigquery 将日期转换为BQ中的yyyymmdd格式(标准),google-bigquery,Google Bigquery,平台:BigQuery(标准) 我有一个按天划分的表(table_name_20180101),我正在尝试编写一个查询,以便在任何给定的一天,它只在前7天的表上工作 (例如,今天我想让它运行在:table_name_20180607,table_name_20180608,一直到_20180613) 我试图通过以下语法达到这个结果 FROM `table_name_*` where _table_suffix > (tables up to 7 days ago) 有人对如何获得这一点有
FROM
`table_name_*` where _table_suffix > (tables up to 7 days ago)
有人对如何获得这一点有什么建议吗?
我想试着用YYYYMMDD格式转换当前的_Date(),然后减去7,但我无法得到它
谢谢大家。您可以使用以下格式的
DATE\u SUB
来实现动态回顾窗口,下面是滚动7天的示例:
FROM `mydata.ga_sessions_20*`
WHERE parse_date('%y%m%d', _table_suffix) between
DATE_sub(current_date(), interval 7 day) and
DATE_sub(current_date(), interval 1 day)
这是为在BigQuery中的GA导出表上使用而构建的,但您的日期格式似乎相同,因此应该可以使用。您可以使用以下格式的
date\u SUB
来实现动态回顾窗口,下面是滚动7天的示例:
FROM `mydata.ga_sessions_20*`
WHERE parse_date('%y%m%d', _table_suffix) between
DATE_sub(current_date(), interval 7 day) and
DATE_sub(current_date(), interval 1 day)
这是为在BigQuery中的GA导出表上使用而构建的,但是您的日期格式似乎是相同的,所以应该可以使用。对于BigQuery标准SQL
FROM `table_name_*`
WHERE _table_suffix > FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY))
如果您需要排除当前日期,您可以使用
FROM `table_name_*`
WHERE _table_suffix BETWEEN
FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY))
AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
对于BigQuery标准SQL
FROM `table_name_*`
WHERE _table_suffix > FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY))
如果您需要排除当前日期,您可以使用
FROM `table_name_*`
WHERE _table_suffix BETWEEN
FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY))
AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))