在雪花中将本地时间转换为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;
我有如下示例数据:
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;