No Oracle Database, o
DBTIMEZONE
A função retorna o valor do fuso horário do banco de dados. Sintaxe
A sintaxe fica assim:
DBTIMEZONE
Portanto, nenhum argumento é necessário (ou aceito) e não há parênteses.
Exemplo
Aqui está um exemplo:
SELECT DBTIMEZONE
FROM DUAL;
Resultado:
+00:00
Nesse caso, o fuso horário do banco de dados é definido como o fuso horário UTC.
O tipo de retorno é um deslocamento de fuso horário (um tipo de caractere no formato
'[+|-]TZH:TZM'
) ou um nome de região de fuso horário, dependendo de como o valor do fuso horário do banco de dados foi especificado no CREATE DATABASE
mais recente ou ALTER DATABASE
demonstração. Chamando DBTIMEZONE
com parênteses
Como mencionado, o
DBTIMEZONE
função é chamada sem parênteses. Aqui está o que acontece quando o chamamos entre parênteses:
SELECT DBTIMEZONE()
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT DBTIMEZONE() FROM DUAL Error at Command Line : 1 Column : 18 Error report - SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected" *Cause: *Action:
Obter o fuso horário da sessão
O fuso horário do banco de dados pode ou não ter o mesmo valor que o fuso horário da sessão atual. Isso depende da sua configuração e ambos podem ser alterados independentemente um do outro.
Você pode usar o
SESSIONTIMEZONE
função para obter o fuso horário da sessão atual.