V databázi Oracle je to TZ_OFFSET()
funkce vrací posun časové zóny odpovídající argumentu na základě data provedení příkazu.
Syntaxe
Syntaxe vypadá takto:
TZ_OFFSET({ 'time_zone_name'
| '{ + | - } hh : mi'
| SESSIONTIMEZONE
| DBTIMEZONE
}
)
Příklady
Zde je několik příkladů k demonstraci.
Název oblasti časového pásma
Můžete předat platný název oblasti časového pásma:
SELECT TZ_OFFSET('Australia/Darwin')
FROM DUAL;
Výsledek:
+09:30
Zde je návod, jak získat seznam podporovaných časových pásem ve vašem systému.
Posun časového pásma
Můžete předat posun časového pásma, v takovém případě se jednoduše vrátí sám:
SELECT TZ_OFFSET('-10:00')
FROM DUAL;
Výsledek:
-10:00
SESSIONTIMEZONE
Funkce
SESSIONTIMEZONE
funkce vrací časové pásmo aktuální relace. Toto můžete použít k získání posunu časového pásma vaší aktuální relace.
Příklad:
SELECT
SESSIONTIMEZONE,
TZ_OFFSET(SESSIONTIMEZONE)
FROM DUAL;
Výsledek mé relace:
SESSIONTIMEZONE TZ_OFFSET(SESSIONTIMEZONE) _____________________ _____________________________ Australia/Brisbane +10:00
DBTIMEZONE
Funkce
DBTIMEZONE
funkce vrací časové pásmo databáze. Toto může, ale nemusí být stejné jako SESSIONTIMEZONE
ve vašem systému.
Příklad:
SELECT
DBTIMEZONE,
TZ_OFFSET(DBTIMEZONE)
FROM DUAL;
Výsledek:
DBTIMEZONE TZ_OFFSET(DBTIMEZONE) _____________ ________________________ +00:00 +00:00
Nulové argumenty
Předávání null
výsledkem je null
:
SET NULL 'null';
SELECT TZ_OFFSET(null)
FROM DUAL;
Výsledek:
null
Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když null
dochází v důsledku SQL SELECT
prohlášení.
Můžete však použít SET NULL
určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null
by měl být vrácen.
Chybí argument
Volání funkce s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů má za následek chybu:
SELECT TZ_OFFSET()
FROM DUAL;
Výsledek:
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: