sql >> Databasteknik >  >> RDS >> MariaDB

Hur ATAN2() fungerar i MariaDB

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'

  1. Samla rekursiva JSON-nycklar i Postgres

  2. Android SQLite Journals beteende har ändrats?

  3. Infoga data från en tabell till en annan i MySQL

  4. Oracle Regexp för att ersätta \n,\r och \t med mellanslag