【问题标题】:BigQuery - Convert Datetime to local timezone?BigQuery - 将日期时间转换为本地时区?
【发布时间】:2022-01-27 00:24:33
【问题描述】:

我有一个 DateTime 列,其中包含 UTC 格式的“2020-08-05T10:19:30”等数据。

我需要使用 BigQuery SQL 调用将其转换为“美国/洛杉矶”或“美国/芝加哥”时区。

我试过了:

SELECT A, B, C, DATETIME(date_field,"America/Los Angeles") as new_date_field FROM table;

我明白了:

"参数类型的函数 DATETIME 没有匹配的签名: 日期时间,字符串。支持的签名:DATETIME(INT64, INT64, INT64, INT64、INT64、INT64);日期时间(日期,时间);日期时间(时间戳, [细绳]);日期时间(日期);日期时间(日期时间);日期时间(字符串)”

【问题讨论】:

    标签: sql datetime google-bigquery timezone-offset


    【解决方案1】:

    试试下面

    SELECT A, B, C, 
      DATETIME(timestamp(date_field),"America/Chicago") as new_date_field 
    FROM table;
    

    【讨论】:

      【解决方案2】:

      您看到该错误是因为您的数据已经属于 datetime 数据类型,并且该数据类型对于 datetime 函数来说不是有效的数据类型。请尝试以下方法:

      with sample_data as (
      select  DATETIME("2020-08-05T10:19:30") as date_field
      )
      select  datetime(timestamp(date_field), "America/Los_Angeles") from sample_data 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-02
        • 2019-01-14
        • 1970-01-01
        • 2016-09-12
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        • 2020-09-08
        相关资源
        最近更新 更多