sql >> Database >  >> RDS >> MariaDB

Hoe ATAN2() werkt in MariaDB

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'

  1. Wat zijn de voordelen van werken met een toegangsondersteuningsbedrijf?

  2. SqlDataAdapter gebruiken om een ​​rij in te voegen

  3. Bestaat / bestaat niet:'selecteer 1' vs 'selecteer veld'

  4. Wat maakt een SQL-statement sargable?