В 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: