W Oracle ATAN2()
funkcja zwraca arcus tangens (odwrotny tangens) swoich dwóch argumentów.
Składnia
Składnia wygląda tak:
ATAN2(n1 , n2)
Gdzie n1
może znajdować się w nieograniczonym zakresie i zwraca wartość z zakresu –pi do pi , w zależności od znaków n1
i n2
, wyrażona w radianach.
Przykład
Oto przykład:
SELECT ATAN2(0.3, 0.7)
FROM DUAL;
Wynik:
ATAN2(0.3,0.7) ____________________________________________ 0.404891786285083423312072929009442616553
Argument nieliczbowy
Argumentami może być dowolny numeryczny typ danych lub dowolny nienumeryczny typ danych, który można niejawnie przekonwertować na numeryczny typ danych.
Oto, co się dzieje, gdy dostarczamy nieliczbowy argument, którego nie można przekonwertować na liczbowy typ danych:
SELECT ATAN2('One', 0.2)
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT ATAN2('One', 0.2) FROM DUAL Error report - ORA-01722: invalid number
Oto jednak, co się dzieje, gdy zmieniamy one
do 1
i zachowaj cytaty:
SELECT ATAN2('1', '0.2')
FROM DUAL;
Wynik:
ATAN2('1','0.2') ___________________________________________ 1.37340076694501586086127192644496114865
Wartości puste
Jeśli jakikolwiek argument ma wartość null
, wynik to null
:
SET NULL 'null';
SELECT
ATAN2(null, 0.3),
ATAN2(0.3, null),
ATAN2(null, null)
FROM DUAL;
Wynik:
ATAN2(NULL,0.3) ATAN2(0.3,NULL) ATAN2(NULL,NULL) __________________ __________________ ___________________ null null null
Domyślnie SQLcl i SQL*Plus zwracają pusty ciąg za każdym razem, gdy null
występuje w wyniku polecenia SQL SELECT
oświadczenie.
Możesz jednak użyć SET NULL
aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null
należy zwrócić.
Nieprawidłowa liczba argumentów
Wywołanie ATAN2()
bez przekazywania żadnych argumentów zwraca błąd:
SELECT ATAN2()
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT ATAN2() 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:
A przekazanie niewłaściwej liczby argumentów skutkuje błędem:
SELECT ATAN2(1)
FROM DUAL;
Wynik:
Error starting at line : 1 in command - SELECT ATAN2(1) 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: