Oracle
 sql >> база данни >  >> RDS >> Oracle

ATAN2() Функция в Oracle

В Oracle, ATAN2() функцията връща арктангенса (обратната допирателна) на двата си аргумента.

Синтаксис

Синтаксисът е така:

ATAN2(n1 , n2)

Където n1 може да бъде в неограничен диапазон и връща стойност в диапазона от –pi до pi , в зависимост от признаците на n1 и n2 , изразено в радиани.

Пример

Ето един пример:

SELECT ATAN2(0.3, 0.7)
FROM DUAL;

Резултат:

                              ATAN2(0.3,0.7) 
____________________________________________ 
   0.404891786285083423312072929009442616553

Нечислов аргумент

Аргументите могат да бъдат всеки числов тип данни или всеки нечисловен тип данни, които могат да бъдат имплицитно преобразувани в числов тип данни.

Ето какво се случва, когато предоставим нечислов аргумент, който не може да бъде преобразуван в числов тип данни:

SELECT ATAN2('One', 0.2)
FROM DUAL;

Резултат:

Error starting at line : 1 in command -
SELECT ATAN2('One', 0.2)
FROM DUAL
Error report -
ORA-01722: invalid number

Ето какво се случва обаче, когато променим one до 1 и запазете кавичките:

SELECT ATAN2('1', '0.2')
FROM DUAL;

Резултат:

                           ATAN2('1','0.2') 
___________________________________________ 
   1.37340076694501586086127192644496114865 

Нулеви стойности

Ако някой аргумент е null , резултатът е null :

SET NULL 'null';

SELECT 
    ATAN2(null, 0.3),
    ATAN2(0.3, null),
    ATAN2(null, null)
FROM DUAL;

Резултат:

   ATAN2(NULL,0.3)    ATAN2(0.3,NULL)    ATAN2(NULL,NULL) 
__________________ __________________ ___________________ 
              null               null                null

По подразбиране SQLcl и SQL*Plus връщат празен низ всеки път, когато null възниква в резултат на SQL SELECT изявление.

Можете обаче да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.

Неправилен брой аргументи

Извикване на ATAN2() без подаване на аргументи връща грешка:

SELECT ATAN2()
FROM DUAL;

Резултат:

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:

И предаването на грешен брой аргументи води до грешка:

SELECT ATAN2(1)
FROM DUAL;

Резултат:

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Първи стъпки с SQL на Oracle Application Express

  2. Как да настроите свързан сървър към база данни на Oracle на SQL 2000/2005?

  3. Открийте дали дадена стойност съдържа поне една цифрова цифра в Oracle

  4. работа с json в oracle

  5. Как да създадете регистрационен файл в Oracle с помощта на PL/SQL?