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

Hvordan ATAN2() virker i MariaDB

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'

  1. 3 måder at udtrække måneden fra en dato i SQL Server (T-SQL)

  2. Sletning af en tilsluttet bruger fra et Oracle 10g-databaseskema

  3. Implementering af Django til Heroku (Psycopg2-fejl)

  4. Hvorfor får jeg Kan ikke sende parameter 2 ved referencefejl, når jeg bruger bindParam med en konstant værdi?