In Oracle Database, il TZ_OFFSET()
La funzione restituisce l'offset del fuso orario corrispondente all'argomento in base alla data di esecuzione dell'istruzione.
Sintassi
La sintassi è questa:
TZ_OFFSET({ 'time_zone_name'
| '{ + | - } hh : mi'
| SESSIONTIMEZONE
| DBTIMEZONE
}
)
Esempi
Ecco alcuni esempi da dimostrare.
Nome della regione del fuso orario
Puoi passare un nome di regione con fuso orario valido:
SELECT TZ_OFFSET('Australia/Darwin')
FROM DUAL;
Risultato:
+09:30
Ecco come ottenere un elenco dei fusi orari supportati nel tuo sistema.
Offset fuso orario
Puoi passare un offset di fuso orario, nel qual caso restituisce semplicemente se stesso:
SELECT TZ_OFFSET('-10:00')
FROM DUAL;
Risultato:
-10:00
Il SESSIONTIMEZONE
Funzione
Il SESSIONTIMEZONE
la funzione restituisce il fuso orario della sessione corrente. Puoi usarlo per ottenere l'offset del fuso orario della tua sessione corrente.
Esempio:
SELECT
SESSIONTIMEZONE,
TZ_OFFSET(SESSIONTIMEZONE)
FROM DUAL;
Risultato nella mia sessione:
SESSIONTIMEZONE TZ_OFFSET(SESSIONTIMEZONE) _____________________ _____________________________ Australia/Brisbane +10:00
Il DBTIMEZONE
Funzione
Il DBTIMEZONE
la funzione restituisce il fuso orario del database. Questo può essere o meno lo stesso di SESSIONTIMEZONE
sul tuo sistema.
Esempio:
SELECT
DBTIMEZONE,
TZ_OFFSET(DBTIMEZONE)
FROM DUAL;
Risultato:
DBTIMEZONE TZ_OFFSET(DBTIMEZONE) _____________ ________________________ +00:00 +00:00
Argomenti nulli
Passaggio null
risulta null
:
SET NULL 'null';
SELECT TZ_OFFSET(null)
FROM DUAL;
Risultato:
null
Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null
si verifica come risultato di un SQL SELECT
dichiarazione.
Tuttavia, puoi utilizzare SET NULL
per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null
deve essere restituito.
Argomento mancante
Chiamando la funzione con il numero errato di argomenti, o senza passare alcun argomento, si verifica un errore:
SELECT TZ_OFFSET()
FROM DUAL;
Risultato:
Error starting at line : 1 in command - SELECT TZ_OFFSET() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: