在雪花、转换时,一些当地的日期为UTC然后回到当地的时区使用CONVERT_TIMEZONE功能,最终的结果是通过一小时。 例如:
ALTER SESSION SET TIMEZONE = 'Canada/Eastern';
select
cast('1949-04-24' as timestamp) as date_local -- because TIMEZONE = 'Canada/Eastern'
, convert_timezone('Canada/Eastern', 'UTC', '1949-04-24') as date_utc
, convert_timezone('UTC', 'Canada/Eastern', convert_timezone('Canada/Eastern', 'UTC', '1949-04-24')) as date_local1
结果是:
DATE_LOCAL | DATE_UTC | DATE_LOCAL1 |
---|---|---|
1949-04-24 00:00:00.0 | 1949-04-24 05:00:00.0 | 1949-04-24 01:00:00.0 |
我希望这两个DATE_LOCAL和DATE_LOCAL1是相同的,但是DATE_LOCAL1是一个小时。 是这样的期望吗? 我失去了一些东西或者有一个错误的CONVERT_TIMEZONE功能?