Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ATAN2()-Funktion in Oracle

In Oracle der ATAN2() Die Funktion gibt den Arkustangens (Kehrwert) ihrer beiden Argumente zurück.

Syntax

Die Syntax lautet wie folgt:

ATAN2(n1 , n2)

Wobei n1 kann in einem unbegrenzten Bereich liegen und gibt einen Wert im Bereich von –pi zurück zu pi , abhängig von den Vorzeichen von n1 und n2 , ausgedrückt in Radianten.

Beispiel

Hier ist ein Beispiel:

SELECT ATAN2(0.3, 0.7)
FROM DUAL;

Ergebnis:

                              ATAN2(0.3,0.7) 
____________________________________________ 
   0.404891786285083423312072929009442616553

Nicht numerisches Argument

Die Argumente können ein beliebiger numerischer Datentyp oder ein beliebiger nicht numerischer Datentyp sein, der implizit in einen numerischen Datentyp konvertiert werden kann.

Folgendes passiert, wenn wir ein nicht numerisches Argument angeben, das nicht in einen numerischen Datentyp konvertiert werden kann:

SELECT ATAN2('One', 0.2)
FROM DUAL;

Ergebnis:

Error starting at line : 1 in command -
SELECT ATAN2('One', 0.2)
FROM DUAL
Error report -
ORA-01722: invalid number

Folgendes passiert jedoch, wenn wir den one ändern zu 1 und behalte die Anführungszeichen:

SELECT ATAN2('1', '0.2')
FROM DUAL;

Ergebnis:

                           ATAN2('1','0.2') 
___________________________________________ 
   1.37340076694501586086127192644496114865 

Nullwerte

Wenn irgendein Argument null ist , ist das Ergebnis null :

SET NULL 'null';

SELECT 
    ATAN2(null, 0.3),
    ATAN2(0.3, null),
    ATAN2(null, null)
FROM DUAL;

Ergebnis:

   ATAN2(NULL,0.3)    ATAN2(0.3,NULL)    ATAN2(NULL,NULL) 
__________________ __________________ ___________________ 
              null               null                null

Standardmäßig geben SQLcl und SQL*Plus eine leere Zeichenfolge zurück, wenn null tritt als Ergebnis eines SQL SELECT auf Erklärung.

Sie können jedoch SET NULL verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null zurückgegeben werden soll.

Falsche Argumentanzahl

Aufruf von ATAN2() ohne Übergabe von Argumenten gibt einen Fehler zurück:

SELECT ATAN2()
FROM DUAL;

Ergebnis:

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:

Und das Übergeben der falschen Anzahl von Argumenten führt zu einem Fehler:

SELECT ATAN2(1)
FROM DUAL;

Ergebnis:

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: