在雪花中将本地时间转换为UTC

Converting local time to UTC in snowflake

我有如下示例数据:

ship_id | origin_zone |  dt_local
 1234   | Asia/Taipei| 2022-03-31 00:00:00.000

目标是将 dt_local 转换为 UTC。这是我的 SQL:

select 
   origin_zone,
   dt_local,
   convert_timezone('UTC', origin_zone, dt_local) as utc_time
   
from table;

请查看输出的屏幕截图。似乎只是在这个时间上增加了 8 小时的偏移量,这听起来并不真实。台北比 UTC 早 8 小时,所以我预计它会从 dt_local 列中减去 8 小时。

我认为因为我 运行 这个查询是在 America/Los 洛杉矶时间(比 UTC 晚 8 小时),它只是将 8 添加到 dt_local 时间列。

关于如何为本专栏获取正确的 UTC 时间,我能否获得一些帮助?

您颠倒了源时区和目标时区。应该是:

select 
   origin_zone,
   dt_local,
   convert_timezone(origin_zone, 'UTC', dt_local) as utc_time
   
from table;