No MariaDB,
ATAN2()
é uma função numérica interna que retorna o arco tangente (tangente inversa) de seus dois argumentos. Sintaxe
A sintaxe fica assim:
ATAN2(Y,X)
O resultado é semelhante ao cálculo do arco tangente de
Y / X
, exceto que os sinais de ambos os argumentos são usados para determinar o quadrante do resultado. Também pode ser chamado sem o
2
:ATAN(Y,X)
Tenha em mente que
ATAN()
é considerada uma função diferente que normalmente aceita um único argumento. No entanto, ele pode ser chamado com um ou dois argumentos. Chamá-lo com dois argumentos retorna o mesmo que chamar ATAN2()
com dois argumentos. Exemplo
Aqui está um exemplo para demonstrar esta função:
SELECT ATAN2(2, 3);
Resultado:
+--------------------+ | ATAN2(2, 3) | +--------------------+ | 0.5880026035475675 | +--------------------+
Aqui estão mais alguns exemplos:
SELECT
ATAN2(-2, 3),
ATAN2(-1, 0),
ATAN2(2, -3);
Resultado:
+---------------------+---------------------+--------------------+ | ATAN2(-2, 3) | ATAN2(-1, 0) | ATAN2(2, -3) | +---------------------+---------------------+--------------------+ | -0.5880026035475675 | -1.5707963267948966 | 2.5535900500422257 | +---------------------+---------------------+--------------------+
O ATAN()
Função
Como mencionado, chamar
ATAN()
com dois argumentos retorna o mesmo resultado que chamar ATAN2()
com dois argumentos:SELECT
ATAN(2, 3),
ATAN2(2, 3);
Resultado:
+--------------------+--------------------+ | ATAN(2, 3) | ATAN2(2, 3) | +--------------------+--------------------+ | 0.5880026035475675 | 0.5880026035475675 | +--------------------+--------------------+
Argumentos não numéricos
Veja o que acontece quando fornecemos um argumento não numérico:
SELECT ATAN2('Ten', 'Four');
Resultado:
+----------------------+ | ATAN2('Ten', 'Four') | +----------------------+ | 0 | +----------------------+ 1 row in set, 2 warnings (0.000 sec)
Vamos verificar o aviso:
SHOW WARNINGS;
Resultado:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Four' | +---------+------+------------------------------------------+
Argumentos ausentes
Chamando
ATAN2()
sem um argumento resulta em um erro:SELECT ATAN2();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ATAN2'