En Oracle, el ATAN2() La función devuelve la arcotangente (tangente inversa) de sus dos argumentos.
Sintaxis
La sintaxis es así:
ATAN2(n1 , n2)
Donde n1 puede estar en un rango ilimitado y devuelve un valor en el rango de –pi a pi , dependiendo de los signos de n1 y n2 , expresado en radianes.
Ejemplo
He aquí un ejemplo:
SELECT ATAN2(0.3, 0.7)
FROM DUAL; Resultado:
ATAN2(0.3,0.7) ____________________________________________ 0.404891786285083423312072929009442616553
Argumento no numérico
Los argumentos pueden ser cualquier tipo de dato numérico o cualquier tipo de dato no numérico que se pueda convertir implícitamente a un tipo de dato numérico.
Esto es lo que sucede cuando proporcionamos un argumento no numérico que no se puede convertir a un tipo de datos numérico:
SELECT ATAN2('One', 0.2)
FROM DUAL; Resultado:
Error starting at line : 1 in command -
SELECT ATAN2('One', 0.2)
FROM DUAL
Error report -
ORA-01722: invalid number
Sin embargo, esto es lo que sucede cuando cambiamos el one a 1 y mantén las comillas:
SELECT ATAN2('1', '0.2')
FROM DUAL; Resultado:
ATAN2('1','0.2')
___________________________________________
1.37340076694501586086127192644496114865 Valores nulos
Si algún argumento es null , el resultado es null :
SET NULL 'null';
SELECT
ATAN2(null, 0.3),
ATAN2(0.3, null),
ATAN2(null, null)
FROM DUAL; Resultado:
ATAN2(NULL,0.3) ATAN2(0.3,NULL) ATAN2(NULL,NULL)
__________________ __________________ ___________________
null null null
De forma predeterminada, SQLcl y SQL*Plus devuelven una cadena vacía siempre que null ocurre como resultado de un SQL SELECT declaración.
Sin embargo, puede usar SET NULL para especificar una cadena diferente a devolver. Aquí especifiqué que la cadena null debe ser devuelto.
Recuento de argumentos incorrecto
Llamando a ATAN2() sin pasar ningún argumento devuelve un error:
SELECT ATAN2()
FROM DUAL; Resultado:
Error starting at line : 1 in command - SELECT ATAN2() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Y pasar el número incorrecto de argumentos da como resultado un error:
SELECT ATAN2(1)
FROM DUAL; Resultado:
Error starting at line : 1 in command - SELECT ATAN2(1) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: