In Oracle, the SQRT() function returns the square root of its argument.
Syntax
The syntax goes like this:
SQRT(n)
Where n can be any numeric data type or any nonnumeric data type that can be implicitly converted to a numeric data type.
Example
Here’s an example:
SELECT SQRT(64)
FROM DUAL;
Result:
SQRT(64)
___________
8
Non-Numeric Argument
As mentioned, the argument can be any numeric data type or any nonnumeric data type that can be implicitly converted to a numeric data type.
Here’s what happens when we provide a non-numeric argument that can’t be converted to a numeric data type:
SELECT SQRT('One')
FROM DUAL;
Result:
Error starting at line : 1 in command -
SELECT SQRT('One')
FROM DUAL
Error report -
ORA-01722: invalid number
Null Values
Passing null to SQRT() returns null:
SET NULL 'null';
SELECT SQRT(null)
FROM DUAL;
Result:
SQRT(NULL)
_____________
null
By default, SQLcl and SQL*Plus return a blank space whenever null occurs as a result of a SQL SELECT statement.
However, you can use SET NULL to specify a different string to be returned. Here I specified that the string null should be returned.
Incorrect Argument Count
Calling SQRT() without passing any arguments returns an error:
SELECT SQRT()
FROM DUAL;
Result:
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:
And passing the wrong number of arguments results in an error:
SELECT SQRT(1, 2)
FROM DUAL;
Result:
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: