I MariaDB, ATAN2()
är en inbyggd numerisk funktion som returnerar arctangens (invers tangens) av dess två argument.
Syntax
Syntaxen ser ut så här:
ATAN2(Y,X)
Resultatet liknar att beräkna bågtangensen för Y / X
, förutom att tecknen för båda argumenten används för att bestämma kvadranten av resultatet.
Den kan även anropas utan 2
:
ATAN(Y,X)
Tänk på att ATAN()
anses vara en annan funktion som normalt accepterar ett enda argument. Det kan dock anropas med antingen ett eller två argument. Att anropa den med två argument returnerar samma sak som att anropa ATAN2()
med två argument.
Exempel
Här är ett exempel för att demonstrera denna funktion:
SELECT ATAN2(2, 3);
Resultat:
+--------------------+ | ATAN2(2, 3) | +--------------------+ | 0.5880026035475675 | +--------------------+
Här är några fler exempel:
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ämnt, anropar ATAN()
med två argument returnerar samma resultat som att anropa ATAN2()
med två argument:
SELECT
ATAN(2, 3),
ATAN2(2, 3);
Resultat:
+--------------------+--------------------+ | ATAN(2, 3) | ATAN2(2, 3) | +--------------------+--------------------+ | 0.5880026035475675 | 0.5880026035475675 | +--------------------+--------------------+
Icke-numeriska argument
Det här är vad som händer när vi tillhandahåller ett icke-numeriskt argument:
SELECT ATAN2('Ten', 'Four');
Resultat:
+----------------------+ | ATAN2('Ten', 'Four') | +----------------------+ | 0 | +----------------------+ 1 row in set, 2 warnings (0.000 sec)
Låt oss kolla varningen:
SHOW WARNINGS;
Resultat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Four' | +---------+------+------------------------------------------+
Argument saknas
Anropar ATAN2()
utan argument resulterar i ett fel:
SELECT ATAN2();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ATAN2'