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对象:
根本不起作用