A resposta é:depende.
No total, seu banco de dados tem três fusos horários
- Fuso horário da sua sessão:
SESSIONTIMEZONE
Isso você pode alterar por
ALTER SESSION SET TIME_ZONE=...
a qualquer momento. É relevante para o resultado de -
CURRENT_DATE
-
LOCALTIMESTAMP
-
CURRENT_TIMESTAMP
Também é o fuso horário de destino quando você faz
CAST({TIMESTAMP/DATE without any timezone} AS TIMESTAMP WITH {LOCAL} TIME ZONE)
Padrão
SESSIONTIMEZONE
pode ser definido pela variável de ambiente ORA_SDTZ
ou (no Windows) pela entrada de registro HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\ORA_SDTZ
(para Cliente de 32 bits), resp. HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\ORA_SDTZ
(para Cliente de 64 bits). - O fuso horário do banco de dados:
DBTIMEZONE
Na verdade, isso não é tão importante no uso diário, é relevante apenas para
TIMESTAMP WITH LOCAL TIME ZONE
colunas de tipo de dados e define o formato de armazenamento. Isso NÃO o fuso horário de
SYSDATE
ou SYSTIMESTAMP
!!! Você não pode alterar
DBTIMEZONE
em seu banco de dados se o banco de dados contiver uma tabela com um TIMESTAMP WITH LOCAL TIME ZONE
coluna e a coluna contém dados. Caso contrário, pode ser alterado com ALTER DATABASE SET TIME_ZONE='...';
. A alteração não entra em vigor até que o banco de dados seja encerrado e reiniciado. DBTIMEZONE
é definido quando o banco de dados é criado. Se nenhum fuso horário for fornecido durante a criação do banco de dados, o padrão do Oracle será o fuso horário do sistema operacional do servidor. - O fuso horário do sistema operacional do servidor de banco de dados:
Este fuso horário é relevante para o resultado de
-
SYSDATE
-
SYSTIMESTAMP
Naturalmente, esse fuso horário não pode ser alterado no nível do banco de dados. Caso seu país de origem use o horário de verão, esse fuso horário pode mudar duas vezes por ano. Você pode interrogá-lo com
SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual;
, por exemplo. Portanto, se o sistema operacional do seu servidor de banco de dados estiver configurado corretamente, você deverá obter os horários de verão a partir da próxima semana (pelo menos para a Europa)