W Snowflake podczas konwertowania niektórych lokalnych dat w UTC, a następnie z powrotem do lokalnej strefy czasowej przy użyciu funkcji CONVERT_TIMEZONE końcowy wynik wyłącza na godzinę. Na przykład:
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
Wyniki są następujące:
ДАТА_ЛОКАЛЬНАЯ | DATA _UTC | DATE_LOCAL1 |
---|---|---|
1949-04-24 00:00:00.0 | 1949-04-24 05:00:00.0 | 1949-04-24 01:00:00.0 |
Spodziewam się, że i DATE_LOCAL, i DATE_LOCAL1 będą identyczne, jednak DATE_LOCAL1 wyłączony na godzinę. Oczekuje się, czy to? -Coś mi umknęło lub w funkcji CONVERT_TIMEZONE jest błąd?