Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Função DBTIMEZONE no Oracle


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.