I PostgreSQL, atan2()
är en trigonometrisk funktion som returnerar arctangens, eller invers tangens, för det angivna x och y koordinater i radianer.
Syntax
Syntaxen ser ut så här:
atan2(y, x)
Där x
och y
är dubbel precision värden.
Arktangensen är vinkeln från x-axeln till en linje som innehåller origo (0, 0) och en punkt med koordinater (x
, y
)
Exempel
Här är ett exempel för att visa hur det fungerar.
SELECT atan2(1, 1);
Resultat:
0.7853981633974483
Detta returnerade arctangensen för punkten 1,1 i radianer.
Negativt argument
Argumentet kan också vara negativt.
SELECT atan2(-1, -1);
Resultat:
-2.356194490192345
Detta returnerade arctangensen för punkten -1,-1 i radianer.
Atan2() vs Atan(x/y)
Använder atan2(x, y)
är funktionellt likvärdigt med att använda atan(x/y)
.
En skillnad är dock att om du anger ett y-värde på noll, atan2()
kommer inte att returnera ett fel, medan atan()
kommer.
Här är ett exempel med atan2()
:
SELECT atan2(1, 0);
Resultat:
1.5707963267948966
Och här är vad vi får med atan()
när du försöker dividera med noll:
SELECT atan(1/0);
Resultat:
ERROR: division by zero
Återställ vinkeln i grader
Som nämnts, atan2()
returnerar sitt argument i radianer . För att få det i grader , använd atan2d()
fungera.
atan2d()
Funktionen fungerar exakt på samma sätt som atan2()
, förutom att dess argument returneras i grader istället för radianer.