В MariaDB, ATAN2()
е вградена числова функция, която връща арктангенса (обратната допирателна) на двата си аргумента.
Синтаксис
Синтаксисът е така:
ATAN2(Y,X)
Резултатът е подобен на изчисляването на тангенса на дъгата на Y / X
, с изключение на това, че знаците и на двата аргумента се използват за определяне на квадранта на резултата.
Може да се извика и без 2
:
ATAN(Y,X)
Имайте предвид, че ATAN()
се счита за различна функция, която обикновено приема един аргумент. Въпреки това, той може да бъде извикан с един или два аргумента. Извикването му с два аргумента връща същото като извикването на ATAN2()
с два аргумента.
Пример
Ето пример за демонстриране на тази функция:
SELECT ATAN2(2, 3);
Резултат:
+--------------------+ | ATAN2(2, 3) | +--------------------+ | 0.5880026035475675 | +--------------------+
Ето още няколко примера:
SELECT
ATAN2(-2, 3),
ATAN2(-1, 0),
ATAN2(2, -3);
Резултат:
+---------------------+---------------------+--------------------+ | ATAN2(-2, 3) | ATAN2(-1, 0) | ATAN2(2, -3) | +---------------------+---------------------+--------------------+ | -0.5880026035475675 | -1.5707963267948966 | 2.5535900500422257 | +---------------------+---------------------+--------------------+
ATAN()
Функция
Както споменахме, извикване на ATAN()
с два аргумента връща същия резултат като извикването на ATAN2()
с два аргумента:
SELECT
ATAN(2, 3),
ATAN2(2, 3);
Резултат:
+--------------------+--------------------+ | ATAN(2, 3) | ATAN2(2, 3) | +--------------------+--------------------+ | 0.5880026035475675 | 0.5880026035475675 | +--------------------+--------------------+
Нечислови аргументи
Ето какво се случва, когато предоставим нечислов аргумент:
SELECT ATAN2('Ten', 'Four');
Резултат:
+----------------------+ | ATAN2('Ten', 'Four') | +----------------------+ | 0 | +----------------------+ 1 row in set, 2 warnings (0.000 sec)
Нека проверим предупреждението:
SHOW WARNINGS;
Резултат:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Four' | +---------+------+------------------------------------------+
Липсващи аргументи
Извикване на ATAN2()
без аргумент води до грешка:
SELECT ATAN2();
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ATAN2'