In MariaDB, ATAN2()
is een ingebouwde numerieke functie die de arctangens (inverse tangens) van zijn twee argumenten retourneert.
Syntaxis
De syntaxis gaat als volgt:
ATAN2(Y,X)
Het resultaat is vergelijkbaar met het berekenen van de boogtangens van Y / X
, behalve dat de tekens van beide argumenten worden gebruikt om het kwadrant van het resultaat te bepalen.
Het kan ook worden aangeroepen zonder de 2
:
ATAN(Y,X)
Houd er rekening mee dat ATAN()
wordt beschouwd als een andere functie die normaal gesproken een enkel argument accepteert. Het kan echter worden aangeroepen met één of twee argumenten. Het aanroepen met twee argumenten levert hetzelfde op als het aanroepen van ATAN2()
met twee argumenten.
Voorbeeld
Hier is een voorbeeld om deze functie te demonstreren:
SELECT ATAN2(2, 3);
Resultaat:
+--------------------+ | ATAN2(2, 3) | +--------------------+ | 0.5880026035475675 | +--------------------+
Hier zijn nog enkele voorbeelden:
SELECT
ATAN2(-2, 3),
ATAN2(-1, 0),
ATAN2(2, -3);
Resultaat:
+---------------------+---------------------+--------------------+ | ATAN2(-2, 3) | ATAN2(-1, 0) | ATAN2(2, -3) | +---------------------+---------------------+--------------------+ | -0.5880026035475675 | -1.5707963267948966 | 2.5535900500422257 | +---------------------+---------------------+--------------------+
De ATAN()
Functie
Zoals gezegd, het aanroepen van ATAN()
met twee argumenten geeft hetzelfde resultaat als het aanroepen van ATAN2()
met twee argumenten:
SELECT
ATAN(2, 3),
ATAN2(2, 3);
Resultaat:
+--------------------+--------------------+ | ATAN(2, 3) | ATAN2(2, 3) | +--------------------+--------------------+ | 0.5880026035475675 | 0.5880026035475675 | +--------------------+--------------------+
Niet-numerieke argumenten
Dit is wat er gebeurt als we een niet-numeriek argument opgeven:
SELECT ATAN2('Ten', 'Four');
Resultaat:
+----------------------+ | ATAN2('Ten', 'Four') | +----------------------+ | 0 | +----------------------+ 1 row in set, 2 warnings (0.000 sec)
Laten we de waarschuwing eens bekijken:
SHOW WARNINGS;
Resultaat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Four' | +---------+------+------------------------------------------+
Ontbrekende argumenten
Bellen ATAN2()
zonder een argument resulteert in een fout:
SELECT ATAN2();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ATAN2'