Oracle PL/SQL Tutorial/Numerical Math Functions/SQRT
Содержание
SQRT(25)
<source lang="sql">
SQL> select SQRT(25) from dual;
SQRT(25)
5</source>
SQRT(5)
<source lang="sql">
SQL> select SQRT(5) from dual;
SQRT(5)
2.23606798</source>
SQRT(x) gets the square root of x.
The following example displays the square root of 25 and 5, respectively:
<source lang="sql">
SQL> SQL> SELECT SQRT(25), SQRT(5) FROM dual;
SQRT(25) SQRT(5)
----------
5 2.23606798
SQL></source>
Use SQRT in column data
<source lang="sql">
SQL> -- create demo table SQL> create table myTable(
2 id NUMBER(2), 3 value NUMBER(6,2) 4 ) 5 /
Table created. SQL> SQL> -- prepare data SQL> insert into myTable(ID, value)values (1,9)
2 /
1 row created. SQL> insert into myTable(ID, value)values (2,2.11)
2 /
1 row created. SQL> insert into myTable(ID, value)values (3,3.44)
2 /
1 row created. SQL> insert into myTable(ID, value)values (5,10)
2 /
1 row created. SQL> insert into myTable(ID, value)values (6,3)
2 /
1 row created. SQL> insert into myTable(ID, value)values (8,123.45)
2 /
1 row created. SQL> insert into myTable(ID, value)values (9,98.23)
2 /
1 row created. SQL> SQL> select * from myTable
2 / ID VALUE
----------
1 9 2 2.11 3 3.44 5 10 6 3 8 123.45 9 98.23
7 rows selected. SQL> SQL> SQL> SELECT id, value, SQRT(value) FROM myTable
2 / ID VALUE SQRT(VALUE)
---------- -----------
1 9 3 2 2.11 1.4525839 3 3.44 1.8547237 5 10 3.16227766 6 3 1.73205081 8 123.45 11.1108056 9 98.23 9.91110488
7 rows selected. SQL> SQL> SQL> SQL> -- clean the table SQL> drop table myTable
2 /
Table dropped. SQL></source>
Using SQRT and ABS together
<source lang="sql">
SQL> SQL> SQL> -- create demo table SQL> create table myTable(
2 id NUMBER(2), 3 value NUMBER(6,2) 4 ) 5 /
Table created. SQL> SQL> -- prepare data SQL> insert into myTable(ID, value)values (1,9)
2 /
1 row created. SQL> insert into myTable(ID, value)values (2,2.11)
2 /
1 row created. SQL> insert into myTable(ID, value)values (3,3.44)
2 /
1 row created. SQL> insert into myTable(ID, value)values (4,-4.21)
2 /
1 row created. SQL> insert into myTable(ID, value)values (5,10)
2 /
1 row created. SQL> insert into myTable(ID, value)values (6,3)
2 /
1 row created. SQL> insert into myTable(ID, value)values (7,-5.88)
2 /
1 row created. SQL> insert into myTable(ID, value)values (8,123.45)
2 /
1 row created. SQL> insert into myTable(ID, value)values (9,98.23)
2 /
1 row created. SQL> SQL> select * from myTable
2 / ID VALUE
----------
1 9 2 2.11 3 3.44 4 -4.21 5 10 6 3 7 -5.88 8 123.45 9 98.23
9 rows selected. SQL> SQL> --The following query handles both positive and negative numbers SQL> SQL> SQL> SELECT id, value, SQRT(ABS(value)) FROM myTable
2 / ID VALUE SQRT(ABS(VALUE))
---------- ----------------
1 9 3 2 2.11 1.4525839 3 3.44 1.8547237 4 -4.21 2.05182845 5 10 3.16227766 6 3 1.73205081 7 -5.88 2.42487113 8 123.45 11.1108056 9 98.23 9.91110488
9 rows selected. SQL> SQL> -- clean the table SQL> drop table myTable
2 /
Table dropped. SQL> SQL></source>