В Oracle, SQRT() функцията връща квадратния корен на своя аргумент.
Синтаксис
Синтаксисът е така:
SQRT(n)
Където n може да бъде всеки числов тип данни или всеки нечисловен тип данни, който може да бъде имплицитно преобразуван в числов тип данни.
Пример
Ето един пример:
SELECT SQRT(64)
FROM DUAL; Резултат:
SQRT(64)
___________
8 Нечислов аргумент
Както споменахме, аргументът може да бъде всеки числов тип данни или всеки нечисловен тип данни, който може да бъде имплицитно преобразуван в числов тип данни.
Ето какво се случва, когато предоставим нечислов аргумент, който не може да бъде преобразуван в числов тип данни:
SELECT SQRT('One')
FROM DUAL; Резултат:
Error starting at line : 1 in command -
SELECT SQRT('One')
FROM DUAL
Error report -
ORA-01722: invalid number Нулеви стойности
Предаването на null към SQRT() връща null :
SET NULL 'null';
SELECT SQRT(null)
FROM DUAL; Резултат:
SQRT(NULL)
_____________
null
По подразбиране SQLcl и SQL*Plus връщат празно пространство всеки път, когато null възниква в резултат на SQL SELECT изявление.
Можете обаче да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.
Неправилен брой аргументи
Извикване на SQRT() без подаване на аргументи връща грешка:
SELECT SQRT()
FROM DUAL; Резултат:
Error starting at line : 1 in command - SELECT SQRT() 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 SQRT(1, 2)
FROM DUAL; Резултат:
Error starting at line : 1 in command - SELECT SQRT(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: