La réponse est :cela dépend.
Au total, votre base de données compte trois fuseaux horaires
- Fuseau horaire de votre session :
SESSIONTIMEZONE
Vous pouvez le modifier en ALTER SESSION SET TIME_ZONE=...
à tout moment. Il est pertinent pour le résultat de
-
CURRENT_DATE
-
LOCALTIMESTAMP
-
CURRENT_TIMESTAMP
C'est également le fuseau horaire cible lorsque vous faites CAST({TIMESTAMP/DATE without any timezone} AS TIMESTAMP WITH {LOCAL} TIME ZONE)
SESSIONTIMEZONE
par défaut peut être défini par la variable d'environnement ORA_SDTZ
ou (sous Windows) par l'entrée de registre HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\ORA_SDTZ
(pour Client 32 bits), resp. HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\ORA_SDTZ
(pour client 64 bits).
- Le fuseau horaire de la base de données :
DBTIMEZONE
En fait, ce n'est pas si important dans l'utilisation quotidienne, cela n'est pertinent que pour TIMESTAMP WITH LOCAL TIME ZONE
colonnes de type de données et définit le format de stockage.
Ce n'est PAS le fuseau horaire de SYSDATE
ou SYSTIMESTAMP
!!!
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. Sinon, il peut être modifié avec ALTER DATABASE SET TIME_ZONE='...';
. La modification ne prend effet qu'une fois la base de données fermée et redémarrée.
DBTIMEZONE
est défini lors de la création de la base de données. Si aucun fuseau horaire n'est fourni lors de la création de la base de données, Oracle utilise par défaut le fuseau horaire du système d'exploitation du serveur.
- Le fuseau horaire du système d'exploitation du serveur de base de données :
Ce fuseau horaire est pertinent pour le résultat de
-
SYSDATE
-
SYSTIMESTAMP
Naturellement, ce fuseau horaire ne peut pas être modifié au niveau de la base de données. Si votre pays d'origine utilise l'heure d'été, ce fuseau horaire peut changer deux fois par an. Vous pouvez l'interroger avec SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual;
, par exemple.
Donc, si votre système d'exploitation DB Server est correctement configuré, vous devriez obtenir les heures d'été à partir de la semaine prochaine (au moins pour l'Europe)