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

DBTIMEZONE Funzione in Oracle

In Oracle Database, il DBTIMEZONE la funzione restituisce il valore del fuso orario del database.

Sintassi

La sintassi è questa:

DBTIMEZONE

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

Esempio

Ecco un esempio:

SELECT DBTIMEZONE
FROM DUAL;

Risultato:

+00:00

In questo caso, il fuso orario del database è impostato sul fuso orario UTC.

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 CREATE DATABASE più recente o ALTER DATABASE dichiarazione.

Chiamata a DBTIMEZONE con parentesi

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

Ecco cosa succede quando lo chiamiamo tra parentesi:

SELECT DBTIMEZONE()
FROM DUAL;

Risultato:

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:

Ottieni il fuso orario della sessione

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

Puoi utilizzare il SESSIONTIMEZONE funzione per ottenere il fuso orario della sessione corrente.