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

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

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

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

Синтаксис

ABS() Синтаксисът на функцията е така:

ABS(n)

Където n може да бъде всеки числов тип данни или всеки нечисловен тип данни, който може да бъде имплицитно преобразуван в числов тип данни.

Функцията връща същия тип данни като числовия тип данни на аргумента.

Пример

Ето пример за демонстрация:

SELECT ABS(-7)
FROM DUAL;

Резултат:

   ABS(-7) 
__________ 
         7 

Абсолютната стойност на -7 е 7 .

Това е точно същият резултат, който бихме получили, ако сме предали положителен 7 :

SELECT 
    ABS(7),
    ABS(-7)
FROM DUAL;

Резултат:

   ABS(7)    ABS(-7) 
_________ __________ 
        7          7 

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

Предаването на null към ABS() връща null :

SET NULL 'null';

SELECT ABS(null)
FROM DUAL;

Резултат:

   ABS(NULL) 
____________ 
        null 

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

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

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

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

SELECT ABS()
FROM DUAL;

Резултат:

Error starting at line : 1 in command -
SELECT ABS()
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 ABS(1, 2)
FROM DUAL;

Резултат:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция COS() в Oracle

  2. Функция ACOS() в Oracle

  3. Инсталиране на Oracle 11g Release 2 Enterprise Edition на Windows 7 32-Bit

  4. Как да ИЗБЕРЕТЕ от колона тип обект в Oracle 11g?

  5. Не е валиден месец при вмъкване на данни в oracle