Google bigquery Google BigQuery:在创建表时向表名添加日期

Google bigquery Google BigQuery:在创建表时向表名添加日期,google-bigquery,Google Bigquery,我正在编写一个查询,我计划使用大查询UI安排查询 我想在此表中添加一个_TABLE_后缀,该后缀等于当前日期 我怎样才能做到这一点 这是我正在处理的查询: IF today != DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 DAY) THEN CREATE TABLE `project.dataset.tablename_<insert_current_date_here>` AS SELECT C

我正在编写一个查询,我计划使用大查询UI安排查询

我想在此表中添加一个_TABLE_后缀,该后缀等于当前日期

我怎样才能做到这一点

这是我正在处理的查询:

IF 
  today != DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 DAY)
THEN 
  CREATE TABLE `project.dataset.tablename_<insert_current_date_here>`
  AS
  SELECT CURRENT_DATE() as today;
END IF;
IF
今天!=日期子项(日期(当前日期(),月份),间隔1天)
然后
创建表`project.dataset.tablename_`
作为
选择当前日期()作为今天;
如果结束;

最好是动态生成查询,然后静态执行

这可以使用python之类的东西来完成

从日期时间导入日期时间

def get_query():
    return '''IF 
    today != DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 DAY)
    THEN 
    CREATE TABLE `project.dataset.%s`
    AS
    SELECT CURRENT_DATE() as today;
    END IF;''' % str(datetime.now())
BigQuery支持计划查询中的目标表名称。要将当前日期添加到表名,请使用提供的模板语法。例如,
tablename{run_time}%Y%m%d}
将输出
tablename\u YYYYMMDD


FYI,关于reddit的相关讨论。我的建议是使用分区表,以获得更好的性能。