【问题标题】:TABLE_DATE_RANGE difficulties in Google BigQueryGoogle BigQuery 中的 TABLE_DATE_RANGE 困难
【发布时间】:2017-03-17 19:22:19
【问题描述】:

Google BigQuery 食谱中涉及 TABLE_DATE_RANGE 的示例在首选的“标准 SQL”中不起作用,尽管它们在较旧的“旧版 SQL”中起作用。 旧 SQL 样式命令的示例。

FROM (TABLE_DATE_RANGE([73156703.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')))

我使用反引号 (`) 将表名括起来,而不是传统风格的方括号,但它失败并显示神秘消息

Error: Table-valued functions are not supported

有什么想法吗?

【问题讨论】:

    标签: sql google-bigquery


    【解决方案1】:

    您需要使用wildcard table 而不是TABLE_DATE_RANGE,这是特定于旧版SQL 的。一个例子是:

    #standardSQL
    SELECT *
    FROM `your_dataset.ga_sessions_*`
    WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN
      DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND
      CURRENT_DATE();
    

    您可以在migration guide 中阅读有关旧版 SQL 和标准 SQL 之间差异的更多信息。

    【讨论】:

      【解决方案2】:

      对于标准 SQL,您需要编写如下示例:

      FROM `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_*`
      WHERE _TABLE_SUFFIX BETWEEN '20130910' AND '20130910'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-03
        • 1970-01-01
        • 2011-08-26
        • 1970-01-01
        相关资源
        最近更新 更多