【问题标题】:PARSE_DATE not working in FORMAT() in BigQueryPARSE_DATE 在 BigQuery 的 FORMAT() 中不起作用
【发布时间】:2022-10-04 22:35:19
【问题描述】:

我有这个查询(简化):

FOR TABLE IN (
  SELECT
    tables FROM project.dataset.table) 
DO
EXECUTE IMMEDIATE
  FORMAT("""
  SELECT
    PARSE_DATE('%Y%m%d', event_date)
    event_timestamp, 
    event_name, 
    user_pseudo_id, 
    user_first_touch_timestamp, 
    device.category, 
    device.mobile_brand_name, 
    device.mobile_model_name, 
    device.web_info.hostname, 
    geo.country, 
    geo.city, 
    traffic_source.name, 
    traffic_source.medium, 
    traffic_source.source
  FROM
    %s""", TABLE.tables);
END FOR;

我收到以下错误:

查询错误:FORMAT 字符串中的格式说明符字符“Y”无效

查询工作正常,没有:

PARSE_DATE('%Y%m%d', event_date)

一旦放入此行,它就会失败并出现上述错误。百分号在 FORMAT() 中有自己的含义,但是我想知道如何使它工作?

我试过转义和使用原始字符串,但它没有用。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    你应该逃跑%在您的动态查询中附加%, 在下面使用

    PARSE_DATE('%%Y%%m%%d', event_date)
    

    【讨论】:

      猜你喜欢
      • 2011-09-22
      • 1970-01-01
      • 2021-12-06
      • 2013-09-07
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多