MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona ATAN2() in MariaDB

In MariaDB, ATAN2() è una funzione numerica incorporata che restituisce l'arcotangente (tangente inversa) dei suoi due argomenti.

Sintassi

La sintassi è questa:

ATAN2(Y,X)

Il risultato è simile al calcolo dell'arcotangente di Y / X , tranne per il fatto che i segni di entrambi gli argomenti vengono utilizzati per determinare il quadrante del risultato.

Può anche essere chiamato senza il 2 :

ATAN(Y,X)

Tieni presente che ATAN() è considerata una funzione diversa che normalmente accetta un singolo argomento. Tuttavia, può essere chiamato con uno o due argomenti. Chiamarlo con due argomenti restituisce lo stesso che chiamare ATAN2() con due argomenti.

Esempio

Ecco un esempio per dimostrare questa funzione:

SELECT ATAN2(2, 3);

Risultato:

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

Ecco altri esempi:

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

Risultato:

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

Il ATAN() Funzione

Come accennato, chiamando ATAN() con due argomenti restituisce lo stesso risultato della chiamata a ATAN2() con due argomenti:

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

Risultato:

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

Argomenti non numerici

Ecco cosa succede quando forniamo un argomento non numerico:

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

Risultato:

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

Controlliamo l'avviso:

SHOW WARNINGS;

Risultato:

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

Argomenti mancanti

Chiamando ATAN2() senza un argomento genera un errore:

SELECT ATAN2();

Risultato:

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