首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prestosql/Amazon Athena:时区更改

Prestosql/Amazon Athena:时区更改
EN

Stack Overflow用户
提问于 2021-06-11 13:01:49
回答 1查看 337关注 0票数 2

我需要将UTC时间戳更改为“美国/东部”时间戳,而不更改日期和时间-本质上只更新时区信息,然后将其转换为不同的时区。

例如(我需要的):

'2021-06-09 19:00:36.000000‘UTC --> '2021-06-09 19:00:36.000000’美国/东部

然后我需要把它转换成'America/New_York‘。

'2021-06-09 19:00:36.000000‘美国/东部--> '2021-06-09 16:00:36.000000’美国/洛杉矶

当我尝试下面的查询时,它没有给出正确的结果,因为它是从UTC转换为美国/洛杉矶。何时应该是美国/东方到美国/洛杉矶。

代码语言:javascript
复制
SELECT id
, date_utc 
, CAST(date_utc AT TIME ZONE 'America/Los Angeles') AS date_la
FROM call_records
EN

回答 1

Stack Overflow用户

发布于 2021-06-12 03:11:34

我不确定这是否适用于雅典娜,因为它是基于一个非常旧的Presto/Trino版本。

在Trino (formerly known as PrestoSQL)的最新版本中,您可以执行以下操作:

  • timestamp with time zone强制转换为timestamp以删除时区部分。
  • 然后,在US/Eastern.
  • Finally,中使用with_timezone重新解释结果timestamp使用AT TIME ZONE更改结果D13的时区,同时保留即时。

请看下面的示例:

代码语言:javascript
复制
trino:tiny> WITH t(ts) AS (VALUES TIMESTAMP '2021-06-09 19:00:36.000000 UTC')
         -> SELECT with_timezone(cast(ts as timestamp(6)), 'US/Eastern') AT TIME ZONE 'America/Los_Angeles'
         -> FROM t;
                     _col0
------------------------------------------------
 2021-06-09 16:00:36.000000 America/Los_Angeles
(1 row)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67931496

复制
相关文章

相似问题

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