BigQuery Google 时区转换
BigQuery Google timezone conversion
当我尝试 运行 下面的查询时,我得到了 UTC 时区的时间戳。
select current_timestamp from table;
你能帮我转换时间戳以进入 EST 时区吗?
谢谢
试试这个:
SELECT STRING(CURRENT_TIMESTAMP, 'America/New_York') AS current_timestamp
FROM dataset.table
这会将时间戳转换为使用纽约时区的字符串。
SELECT TIMESTAMP(DATETIME(CURRENT_TIMESTAMP), 'America/New_York')
这里的技巧是将 TIMESTAMP 转换为无时区的 DATETIME,以将时间戳表示为 date/time,然后转换回 TIMESTAMP,但现在指定所需的时区。
请注意,BigQuery 仍会将其显示为 UTC,但时间戳值本身将代表各自时区的值
要获得更多控制,您可以使用 FORMAT_TIMESTAMP
(https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#format_timestamp)
示例:
SELECT FORMAT_TIMESTAMP("%F %T EST", current_timestamp, "America/New_York") AS current_timestamp_EST FROM `dataset.table` LIMIT 1;
结果:
|-------------------------|
| current_timestamp_EST |
|-------------------------|
| 2020-10-23 18:25:17 EST |
|-------------------------|
当我尝试 运行 下面的查询时,我得到了 UTC 时区的时间戳。
select current_timestamp from table;
你能帮我转换时间戳以进入 EST 时区吗?
谢谢
试试这个:
SELECT STRING(CURRENT_TIMESTAMP, 'America/New_York') AS current_timestamp
FROM dataset.table
这会将时间戳转换为使用纽约时区的字符串。
SELECT TIMESTAMP(DATETIME(CURRENT_TIMESTAMP), 'America/New_York')
这里的技巧是将 TIMESTAMP 转换为无时区的 DATETIME,以将时间戳表示为 date/time,然后转换回 TIMESTAMP,但现在指定所需的时区。
请注意,BigQuery 仍会将其显示为 UTC,但时间戳值本身将代表各自时区的值
要获得更多控制,您可以使用 FORMAT_TIMESTAMP
(https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#format_timestamp)
示例:
SELECT FORMAT_TIMESTAMP("%F %T EST", current_timestamp, "America/New_York") AS current_timestamp_EST FROM `dataset.table` LIMIT 1;
结果:
|-------------------------|
| current_timestamp_EST |
|-------------------------|
| 2020-10-23 18:25:17 EST |
|-------------------------|