MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment ATAN2() fonctionne dans MariaDB

Dans MariaDB, ATAN2() est une fonction numérique intégrée qui renvoie l'arctangente (tangente inverse) de ses deux arguments.

Syntaxe

La syntaxe ressemble à ceci :

ATAN2(Y,X)

Le résultat est similaire au calcul de l'arc tangente de Y / X , sauf que les signes des deux arguments sont utilisés pour déterminer le quadrant du résultat.

Il peut également être appelé sans le 2 :

ATAN(Y,X)

Gardez à l'esprit que ATAN() est considérée comme une fonction différente qui accepte normalement un seul argument. Cependant, il peut être appelé avec un ou deux arguments. L'appeler avec deux arguments renvoie la même chose que d'appeler ATAN2() avec deux arguments.

Exemple

Voici un exemple pour illustrer cette fonction :

SELECT ATAN2(2, 3);

Résultat :

+--------------------+
| ATAN2(2, 3)        |
+--------------------+
| 0.5880026035475675 |
+--------------------+

Voici d'autres exemples :

SELECT 
    ATAN2(-2, 3),
    ATAN2(-1, 0),
    ATAN2(2, -3);

Résultat :

+---------------------+---------------------+--------------------+
| ATAN2(-2, 3)        | ATAN2(-1, 0)        | ATAN2(2, -3)       |
+---------------------+---------------------+--------------------+
| -0.5880026035475675 | -1.5707963267948966 | 2.5535900500422257 |
+---------------------+---------------------+--------------------+

Le ATAN() Fonction

Comme mentionné, appeler ATAN() avec deux arguments renvoie le même résultat qu'en appelant ATAN2() avec deux arguments :

SELECT 
    ATAN(2, 3),
    ATAN2(2, 3);

Résultat :

+--------------------+--------------------+
| ATAN(2, 3)         | ATAN2(2, 3)        |
+--------------------+--------------------+
| 0.5880026035475675 | 0.5880026035475675 |
+--------------------+--------------------+

Arguments non numériques

Voici ce qui se passe lorsque nous fournissons un argument non numérique :

SELECT ATAN2('Ten', 'Four');

Résultat :

+----------------------+
| ATAN2('Ten', 'Four') |
+----------------------+
|                    0 |
+----------------------+
1 row in set, 2 warnings (0.000 sec)

Vérifions l'avertissement :

SHOW WARNINGS;

Résultat :

+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten'  |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Four' |
+---------+------+------------------------------------------+

Arguments manquants

Appel de ATAN2() sans argument génère une erreur :

SELECT ATAN2();

Résultat :

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ATAN2'