首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BigQuery自动将时间戳时区转换为UTC

BigQuery自动将时间戳时区转换为UTC
EN

Stack Overflow用户
提问于 2018-06-02 14:46:18
回答 1查看 5.4K关注 0票数 2

我有一张这样的桌子:

和这样的文件:file/testTimestamp.csv

看上去像是:

我使用python将文件加载到大型查询中,如下所示:

代码语言:javascript
运行
复制
from google.cloud import bigquery as bq

gs_path = 'gs://test_share_file/testTimestamp.csv'
bq_client = bq.Client.from_service_account_json(gcp_creds_fp)
ds = bq_client.dataset('test1')
tbl = ds.table('testTimestamp')

job_config = bq.LoadJobConfig()
job_config.write_disposition = bq.job.WriteDisposition.WRITE_APPEND
job_config.skip_leading_rows = 1 # skip header
load_job = bq_client.load_table_from_uri(gs_path, tbl, job_config=job_config)
res = load_job.result()

然而在桌子上,这两个时间戳都是在UTC时间!

我怎样才能让第二栏出现在东部时间?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-02 15:29:11

您可以将第一列“转换”为“东方时间在线”--如下例所示

代码语言:javascript
运行
复制
#standardSQL
WITH t AS (
  SELECT TIMESTAMP '2018-05-07 22:40:00+00:00' AS ts
)
SELECT ts, STRING(ts, '-04:00') timestamp_eastern
FROM t

我在处理..。固执..。

您可以创建由所需的所有逻辑组成的视图,因此客户端将查询该视图,而不是原始表。

代码语言:javascript
运行
复制
#standardSQL
CREATE VIEW `project.dataset.your_view` AS 
SELECT ts, STRING(ts, '-04:00') timestamp_eastern 
FROM `project.dataset.your_table`

我确实觉得奇怪的是,大查询不能在时区中显示时间

时间戳表示绝对时间点,它独立于任何时区或约定,如夏令储蓄时间。

时区在解析时间戳或格式化时间戳以供显示时使用。时间戳值本身不存储特定的时区。字符串格式的时间戳可以包括时区。当未显式指定时区时,将使用默认时区UTC。

请参阅有关Timestamp type的更多信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50658061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档