V Oracle ATAN2()
funkce vrací arkustangens (inverzní tangens) svých dvou argumentů.
Syntaxe
Syntaxe vypadá takto:
ATAN2(n1 , n2)
Kde n1
může být v neomezeném rozsahu a vrátí hodnotu v rozsahu –pi na pi , v závislosti na znacích n1
a n2
, vyjádřeno v radiánech.
Příklad
Zde je příklad:
SELECT ATAN2(0.3, 0.7)
FROM DUAL;
Výsledek:
ATAN2(0,3;0,7) ____________________________________________ 0,40489178628508342331207292929065443>preNečíselný argument
Argumenty mohou být jakýkoli číselný datový typ nebo jakýkoli nenumerický datový typ, který lze implicitně převést na číselný datový typ.
Co se stane, když poskytneme nečíselný argument, který nelze převést na číselný datový typ:
SELECT ATAN2('One', 0.2) FROM DUAL;
Výsledek:
Chyba začínající na řádku:1 v příkazu -SELECT ATAN2('One', 0.2)FROM DUALEchybová zpráva -ORA-01722:neplatné čísloZde je však to, co se stane, když změníme
one
až1
a ponechte si uvozovky:SELECT ATAN2('1', '0.2') FROM DUAL;
Výsledek:
ATAN2('1','0.2') ___________________________________________ 1,3734007669450158608612719192648496Nulové hodnoty
Pokud je některý argument
null
, výsledkem jenull
:SET NULL 'null'; SELECT ATAN2(null, 0.3), ATAN2(0.3, null), ATAN2(null, null) FROM DUAL;
Výsledek:
ATAN2(NULL;0,3) ATAN2(0,3,NULL) ATAN2(NULL,NULL) __________________ ___________________ __________________null Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdný řetězec vždy, kdyžnull
dochází v důsledku SQLSELECT
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ězecnull
by měl být vrácen.Nesprávný počet argumentů
Volání
ATAN2()
bez předání jakýchkoli argumentů vrátí chybu:SELECT ATAN2() FROM DUAL;
Výsledek:
Chyba začínající na řádku:1 v příkazu -SELECT ATAN2()FROM DUALEchyba na příkazovém řádku:1 Sloupec:8Hlášení o chybě -Chyba SQL:ORA-00909:neplatný počet argumentů00909. 00000 - "neplatný počet argumentů"*Příčina:*Akce:A předání nesprávného počtu argumentů má za následek chybu:
SELECT ATAN2(1) FROM DUAL;
Výsledek:
Chyba začínající na řádku:1 v příkazu -SELECT ATAN2(1)FROM DUALEchyba na příkazovém řádku:1 Sloupec:8Hlášení o chybě -Chyba SQL:ORA-00909:neplatný počet argumentů00909. 00000 - "neplatný počet argumentů"*Příčina:*Akce: