În Fulg de nea, atunci când conversia locale datează de la UTC și apoi înapoi la zona de fus orar local folosind CONVERT_TIMEZONE funcție, rezultatul final este oprit cu o oră. De exemplu:
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
Rezultatele sunt:
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 |
Mă aștept ca ambele DATE_LOCAL și DATE_LOCAL1 să fie identice, cu toate acestea DATE_LOCAL1 este de o oră. Acest lucru este așteptat? Am pierdut ceva sau nu există un bug în CONVERT_TIMEZONE funcție?