Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Função ACOS() no Oracle


No Oracle, o ACOS() A função retorna o arco-seno (co-seno inverso) de seu argumento.

Em outras palavras, ele retorna o valor cujo cosseno é o argumento.

Sintaxe


O ACOS() a sintaxe da função é assim:
ACOS(n)

Onde n deve estar no intervalo de -1 para 1 .

A função retorna um valor no intervalo de 0 para pi (π ), expresso em radianos.

Exemplo


Segue um exemplo para demonstrar:
SELECT ACOS(0.14)
FROM DUAL;

Resultado:
                                 ACOS(0.14) 
___________________________________________ 
   1.43033491208504081896464016633592262709

Argumento fora do intervalo


O argumento deve estar entre -1 e 1 . Se não estiver, um erro é retornado.

Exemplo:
SELECT ACOS(2)
FROM DUAL;

Resultado:
Error starting at line : 1 in command -
SELECT ACOS(2)
FROM DUAL
Error report -
ORA-01428: argument '2' is out of range

Valores nulos


Passando null para ACOS() retorna null :
SET NULL 'null';

SELECT ACOS(null)
FROM DUAL;

Resultado:
   ACOS(NULL) 
_____________ 
         null 

Por padrão, SQLcl e SQL*Plus retornam um espaço em branco sempre que um valor nulo ocorre como resultado de um SQL SELECT demonstração.

No entanto, você pode usar SET NULL para especificar uma string diferente a ser retornada. Aqui eu especifiquei que a string null deve ser devolvido.

Contagem incorreta de argumentos


Chamando ACOS() sem passar nenhum argumento retorna um erro:
SELECT ACOS()
FROM DUAL;

Resultado:
Error starting at line : 1 in command -
SELECT ACOS()
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:

E passar o número errado de argumentos resulta em um erro:
SELECT ACOS(1, 2)
FROM DUAL;

Resultado:
Error starting at line : 1 in command -
SELECT ACOS(1, 2)
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: