AT TIME ZONE仅接受文字或间隔。
with_timezone为此,Presto
320会添加(用于
timestamp值)
at_timezone(用于
timestampwith time zone值)。
如果您使用的是Presto的旧版本(例如撰写本文时的Athena),则可以使用以下解决方法。您可以将时间戳记值转换为
varchar,与zone串联并转换为
timestampwith time zone。
presto> select cast(cast(t as varchar) || ' ' || zone as timestamp with time zone) from (values (timestamp '2017-06-01 12:34:56.789', 'US/Pacific')) x(t, zone); _col0--------------------------------------------- 2017-06-01 12:34:56.789 America/Los_Angeles(1 row)
(注意:已在Presto 320上进行了测试。如果该功能尚不能在Athena上使用,请告诉我。)



