En Flocon de neige, lors de la conversion de certaines dates locales à l'UTC et ensuite de retour au fuseau horaire local à l'aide de CONVERT_TIMEZONE fonction, le résultat final est d'une heure. Par exemple:
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
Les résultats sont les suivants:
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 |
J'attends les deux DATE_LOCAL et DATE_LOCAL1 à l'identique, cependant DATE_LOCAL1 est d'une heure. Est-ce prévu? Ai-je raté quelque chose ou il y a un bug dans le CONVERT_TIMEZONE fonction?