sql >> Database teknologi >  >> RDS >> Oracle

ATAN2() Funktion i Oracle

I Oracle er ATAN2() funktion returnerer arctangens (invers tangent) af dens to argumenter.

Syntaks

Syntaksen ser sådan ud:

ATAN2(n1 , n2)

Hvor n1 kan være i et ubegrænset område og returnerer en værdi i området –pi til pi , afhængigt af tegnene på n1 og n2 , udtrykt i radianer.

Eksempel

Her er et eksempel:

SELECT ATAN2(0.3, 0.7)
FROM DUAL;

Resultat:

                              ATAN2(0.3,0.7) 
____________________________________________ 
   0.404891786285083423312072929009442616553

Ikke-numerisk argument

Argumenterne kan være enhver numerisk datatype eller enhver ikke-numerisk datatype, der implicit kan konverteres til en numerisk datatype.

Her er, hvad der sker, når vi angiver et ikke-numerisk argument, der ikke kan konverteres til en numerisk datatype:

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

Resultat:

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

Men her er hvad der sker, når vi ændrer one til 1 og behold citaterne:

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

Resultat:

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

Nul-værdier

Hvis et argument er null , resultatet er null :

SET NULL 'null';

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

Resultat:

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

Som standard returnerer SQLcl og SQL*Plus en tom streng hver gang null opstår som et resultat af en SQL SELECT udmelding.

Du kan dog bruge SET NULL for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null skal returneres.

Forkert antal argumenter

Kalder ATAN2() uden at sende nogen argumenter returnerer en fejl:

SELECT ATAN2()
FROM DUAL;

Resultat:

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:

Og at sende det forkerte antal argumenter resulterer i en fejl:

SELECT ATAN2(1)
FROM DUAL;

Resultat:

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. VÆLG FOR OPDATERING med SQL Server

  2. Hvordan installeres PostgreSQL's pg gem på Ubuntu?

  3. Hvad er MySQL VARCHAR max størrelsen?

  4. 2 måder at få antallet af dage i en måned i Oracle