当我尝试在查询下面运行时,我会获得UTC时区的时间戳。
select current_timestamp from table;
能帮我将时间戳转换为EST时区吗?
谢谢
答案 0 :(得分:1)
尝试以下方法:
SELECT STRING(CURRENT_TIMESTAMP, 'America/New_York') AS current_timestamp
FROM dataset.table
这将使用纽约时区将时间戳转换为字符串。
答案 1 :(得分:1)
SELECT TIMESTAMP(DATETIME(CURRENT_TIMESTAMP), 'America/New_York')
这里的窍门是将TIMESTAMP转换为DATETIME,该时间戳会时区少,将时间戳表示为一个正确的日期/时间,然后再转换回TIMESTAMP,但现在指定所需的时区。
请注意,BigQuery仍会将其显示为UTC,但时间戳记值本身将代表相应时区中的值
答案 2 :(得分:0)
要获得更多控制权,您可以使用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 |
|-------------------------|