C'est un malentendu courant que DBTIMEZONE
est le fuseau horaire pour SYSDATE
et SYSTIMESTAMP
SYSDATE
et SYSTIMESTAMP
sont renvoyés dans le fuseau horaire du système d'exploitation sur lequel réside le serveur de base de données.
DBTIMEZONE
est le fuseau horaire (interne) de TIMESTAMP WITH LOCAL TIME
valeurs. Je n'en connais aucune utilisation pratique. Remarque, vous ne pouvez pas modifier DBTIMEZONE
sur votre base de données si la base de données contient une table avec un TIMESTAMP WITH LOCAL TIME ZONE
colonne et la colonne contient des données.
Si vous voulez exécuter l'heure actuelle à DBTIMEZONE
select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE
from dual;
CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE
fonctionne également.
Voir aussi Comment pour gérer l'heure d'été dans la base de données Oracle