V Oracle je to SQRT()
funkce vrací druhou odmocninu svého argumentu.
Syntaxe
Syntaxe vypadá takto:
SQRT(n)
Kde n
může být jakýkoli číselný datový typ nebo jakýkoli nenumerický datový typ, který lze implicitně převést na číselný datový typ.
Příklad
Zde je příklad:
SELECT SQRT(64)
FROM DUAL;
Výsledek:
SQRT(64) ___________ 8
Nečíselný argument
Jak bylo zmíněno, argumentem může být jakýkoli číselný datový typ nebo jakýkoli nenumerický datový typ, který lze implicitně převést na číselný datový typ.
Co se stane, když poskytneme nečíselný argument, který nelze převést na číselný datový typ:
SELECT SQRT('One')
FROM DUAL;
Výsledek:
Error starting at line : 1 in command - SELECT SQRT('One') FROM DUAL Error report - ORA-01722: invalid number
Nulové hodnoty
Předávání null
na SQRT()
vrátí null
:
SET NULL 'null';
SELECT SQRT(null)
FROM DUAL;
Výsledek:
SQRT(NULL) _____________ null
Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když null
dochází v důsledku SQL SELECT
prohlášení.
Můžete však použít SET NULL
určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null
by měl být vrácen.
Nesprávný počet argumentů
Volání SQRT()
bez předání jakýchkoli argumentů vrátí chybu:
SELECT SQRT()
FROM DUAL;
Výsledek:
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:
A předání nesprávného počtu argumentů má za následek chybu:
SELECT SQRT(1, 2)
FROM DUAL;
Výsledek:
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: