BigQuery - 将日期时间转换为本地时区?
BigQuery - Convert Datetime to local timezone?
我有一个 DateTime 列,其中包含 UTC 格式的“2020-08-05T10:19:30”等数据。
我需要使用 BigQuery SQL 调用将其转换为“America/Los 安吉利斯”或“America/Chicago”时区。
我试过:
SELECT A, B, C, DATETIME(date_field,"America/Los Angeles") as new_date_field FROM table;
我明白了:
"No matching signature for function DATETIME for argument types:
DATETIME, STRING. Supported signatures: DATETIME(INT64, INT64, INT64,
INT64, INT64, INT64); DATETIME(DATE, TIME); DATETIME(TIMESTAMP,
[STRING]); DATETIME(DATE); DATETIME(DATETIME); DATETIME(STRING)"
试试下面
SELECT A, B, C,
DATETIME(timestamp(date_field),"America/Chicago") as new_date_field
FROM table;
您看到错误是因为您的数据已经是 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
我有一个 DateTime 列,其中包含 UTC 格式的“2020-08-05T10:19:30”等数据。
我需要使用 BigQuery SQL 调用将其转换为“America/Los 安吉利斯”或“America/Chicago”时区。
我试过:
SELECT A, B, C, DATETIME(date_field,"America/Los Angeles") as new_date_field FROM table;
我明白了:
"No matching signature for function DATETIME for argument types: DATETIME, STRING. Supported signatures: DATETIME(INT64, INT64, INT64, INT64, INT64, INT64); DATETIME(DATE, TIME); DATETIME(TIMESTAMP, [STRING]); DATETIME(DATE); DATETIME(DATETIME); DATETIME(STRING)"
试试下面
SELECT A, B, C,
DATETIME(timestamp(date_field),"America/Chicago") as new_date_field
FROM table;
您看到错误是因为您的数据已经是 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