Oracle
 sql >> Database >  >> RDS >> Oracle

SESSIONTIMEZONE Funzione in Oracle

In Oracle Database, il SESSIONTIMEZONE la funzione restituisce il fuso orario della sessione corrente.

Sintassi

La sintassi è questa:

SESSIONTIMEZONE

Quindi, nessun argomento è richiesto (o accettato) e non ci sono parentesi.

Esempio

Ecco un esempio:

SELECT SESSIONTIMEZONE
FROM DUAL;

Risultato:

Australia/Brisbane

Il tipo restituito è un offset di fuso orario (un tipo di carattere nel formato '[+|-]TZH:TZM' ) o il nome di una regione del fuso orario, a seconda di come è stato specificato il valore del fuso orario del database nel ALTER SESSION più recente dichiarazione.

Chiamando SESSIONTIMEZONE con parentesi

Come accennato, il SESSIONTIMEZONE la funzione viene chiamata senza parentesi.

Ecco cosa succede quando lo chiamiamo tra parentesi:

SELECT SESSIONTIMEZONE()
FROM DUAL;

Risultato:

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:

Ottieni il fuso orario del database

Il fuso orario della sessione corrente può essere o meno lo stesso valore del fuso orario del database. Questo dipende dalla tua configurazione e possono essere modificati entrambi indipendentemente l'uno dall'altro.

Puoi usare il DBTIMEZONE funzione per ottenere il fuso orario del database.