I MariaDB, ATAN2()
er en indbygget numerisk funktion, der returnerer arctangens (invers tangent) af sine to argumenter.
Syntaks
Syntaksen ser sådan ud:
ATAN2(Y,X)
Resultatet svarer til at beregne buetangensen for Y / X
, bortset fra at fortegnene for begge argumenter bruges til at bestemme kvadranten af resultatet.
Den kan også kaldes uden 2
:
ATAN(Y,X)
Husk at ATAN()
betragtes som en anden funktion, der normalt accepterer et enkelt argument. Det kan dog kaldes med enten et eller to argumenter. At kalde det med to argumenter returnerer det samme som at kalde ATAN2()
med to argumenter.
Eksempel
Her er et eksempel til at demonstrere denne funktion:
SELECT ATAN2(2, 3);
Resultat:
+--------------------+ | ATAN2(2, 3) | +--------------------+ | 0.5880026035475675 | +--------------------+
Her er nogle flere eksempler:
SELECT
ATAN2(-2, 3),
ATAN2(-1, 0),
ATAN2(2, -3);
Resultat:
+---------------------+---------------------+--------------------+ | ATAN2(-2, 3) | ATAN2(-1, 0) | ATAN2(2, -3) | +---------------------+---------------------+--------------------+ | -0.5880026035475675 | -1.5707963267948966 | 2.5535900500422257 | +---------------------+---------------------+--------------------+
ATAN()
Funktion
Som nævnt kalder du ATAN()
med to argumenter returnerer det samme resultat som at kalde ATAN2()
med to argumenter:
SELECT
ATAN(2, 3),
ATAN2(2, 3);
Resultat:
+--------------------+--------------------+ | ATAN(2, 3) | ATAN2(2, 3) | +--------------------+--------------------+ | 0.5880026035475675 | 0.5880026035475675 | +--------------------+--------------------+
Ikke-numeriske argumenter
Her er, hvad der sker, når vi giver et ikke-numerisk argument:
SELECT ATAN2('Ten', 'Four');
Resultat:
+----------------------+ | ATAN2('Ten', 'Four') | +----------------------+ | 0 | +----------------------+ 1 row in set, 2 warnings (0.000 sec)
Lad os tjekke advarslen:
SHOW WARNINGS;
Resultat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Four' | +---------+------+------------------------------------------+
Manglende argumenter
Kalder ATAN2()
uden et argument resulterer i en fejl:
SELECT ATAN2();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ATAN2'