Il y a en fait 3 fuseaux horaires ici, pas 2
- le fuseau horaire de la session/du client
- Affiché dans SESSIONTIMEZONE
- Il s'agit du fuseau horaire CURRENT_DATE, LOCALTIMESTAMP et CURRENT_TIMESTAMP. La différence entre ces 3 est le type de retour, ils retournent respectivement DATE, TIMESTAMP et TIMESTAMP WITH TIME ZONE)
- Le fuseau horaire de la base de données
- Affiché dans DBTIMEZONE
- Il s'agit du fuseau horaire utilisé pour le stockage interne des valeurs TIMESTAMP WITH LOCAL TIME ZONE. Notez que les valeurs sont converties vers/depuis le fuseau horaire de la session lors de l'insertion/de la sélection, ce n'est donc pas aussi important qu'il n'y paraît
- Ce n'est PAS le fuseau horaire de SYSDATE/SYSTIMESTAMP
- Le fuseau horaire du système d'exploitation de la base de données
- Sous unix, il est basé sur la variable TZ au démarrage d'Oracle
- Il s'agit du fuseau horaire de SYSDATE et SYSTIMESTAMP
Dans votre premier exemple, je peux voir que la session TZ est UTC-6, la base de données TZ est UTC et le fuseau horaire du système d'exploitation de la base de données est UTC-6.
Dans votre deuxième exemple, je peux voir que la session TZ est UTC-6, la base de données TZ est UTC+2 et le fuseau horaire du système d'exploitation de la base de données est UTC+1.