Google bigquery 从时间戳提取Bigquery失败

Google bigquery 从时间戳提取Bigquery失败,google-bigquery,Google Bigquery,运行以下查询时: SELECT EXTRACT(HOUR FROM TIMESTAMP '2018-07-09T02:40:23.652Z' AT TIME ZONE 'US/Eastern') 它返回预期结果:22 但是,在运行时: SELECT start_ts, EXTRACT(HOUR FROM TIMESTAMP TIMESTAMP_MICROS(CAST(1000000 * start_ts AS INT64)) AT TIME ZONE 'US/Eastern') as calc

运行以下查询时:

SELECT EXTRACT(HOUR FROM TIMESTAMP '2018-07-09T02:40:23.652Z' AT TIME ZONE 'US/Eastern')
它返回预期结果:22

但是,在运行时:

SELECT start_ts, EXTRACT(HOUR FROM TIMESTAMP TIMESTAMP_MICROS(CAST(1000000 * start_ts AS INT64)) AT TIME ZONE 'US/Eastern') as calc 
    from SOME_CALCS
抛出一个错误:

语法错误:应为或关键字,但获取了标识符 [1:46]处的时间戳


我所做的就是用时间戳替换字符串。

您应该使用以下格式:1563026408.17193 for BigQuery标准SQL

SELECT start_ts, 
  EXTRACT(HOUR FROM DATETIME(TIMESTAMP_MICROS(CAST(1000000 * start_ts AS INT64)), 'US/Eastern')) as calc
FROM SOME_CALCS

代码中不需要关键字时间戳

select
    extract(
        hour from
        timestamp_micros(
            cast(1563456789.012345 * 1000000 as int64)
        ) at time zone 'US/Eastern')
timestamp_micros已为您返回timestamp对象:

根本不起作用