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

Função SESSIONTIMEZONE no Oracle


No Oracle Database, o SESSIONTIMEZONE A função retorna o fuso horário da sessão atual.

Sintaxe


A sintaxe fica assim:
SESSIONTIMEZONE

Portanto, nenhum argumento é necessário (ou aceito) e não há parênteses.

Exemplo


Aqui está um exemplo:
SELECT SESSIONTIMEZONE
FROM DUAL;

Resultado:
Australia/Brisbane

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 ALTER SESSION mais recente demonstração.

Chamando SESSIONTIMEZONE com parênteses


Como mencionado, o SESSIONTIMEZONE função é chamada sem parênteses.

Aqui está o que acontece quando o chamamos entre parênteses:
SELECT SESSIONTIMEZONE()
FROM DUAL;

Resultado:
Error starting at line : 1 in command -
SELECT SESSIONTIMEZONE()
FROM DUAL
Error at Command Line : 1 Column : 23
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 do banco de dados


O fuso horário da sessão atual pode ou não ter o mesmo valor que o fuso horário do banco de dados. Isso depende da sua configuração e ambos podem ser alterados independentemente um do outro.

Você pode usar o DBTIMEZONE função para obter o fuso horário do banco de dados.