Snowflake'de, bazı yerel tarihleri utc'ye ve ardından CONVERT_TİMEZONE işlevini kullanarak yerel saat dilimine dönüştürürken, sonuç bir saat kapalıdır. Örneğin:
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
Sonuçlar:
TARİH_YEREL | TARİH_UTC | TARİH_LOCAL1 |
---|---|---|
1949-04-24 00:00:00.0 | 1949-04-24 05:00:00.0 | 1949-04-24 01:00:00.0 |
Hem DATE_LOCAL hem de DATE_LOCAL1'İN aynı olmasını bekliyorum, ancak DATE_LOCAL1 bir saat kapalı. Bu bekleniyor? Bir şey mi kaçırıyorum yoksa CONVERT_TİMEZONE işlevinde bir hata mı var?