Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja ATAN2() w Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Webrick bardzo wolno odpowiada. Jak to przyspieszyć?

  2. zwiększaj numer wiersza, gdy zmienia się wartość pola w Oracle

  3. Oracle:procedura składowana Java wysyłająca wiadomość JMS

  4. Oświadczenie ORACLE IIF

  5. Znajdowanie wierszy, które nie zawierają danych liczbowych w Oracle