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