SQL SQRT()函数
SQL SQRT() 函数返回一个正数的平方根。该函数接受非负数作为参数。假设数字为25,则该函数返回5。
假设我们有一个表中的多个列,并且我们想要获取接受只有数值的特定列的平方根。因此,我们无法手动求出每个条目的平方根。因此,我们可以使用SQRT()函数,并将列名传递给它以获取每个条目的平方根。
语法
下面是SQRT()函数的语法:
SELECT SQRT(X) AS Alias_Name;
其中x是应该始终为正的参数。
以下是在SQL表中使用SQRT函数的语法:
SELECT SQRT(Integer_column_name) AS Alias_Name FROM table_name;
我们可以使用上述语法,它将接受接受正值的列名,以执行SQRT函数来查找平方根的值。
示例
在以下示例中,我们使用SQRT()函数获取144的平方根。 以下是查询 –
SELECT SQRT(144) AS squareRoot;
输出
在执行上述SQL查询时,我们得到以下输出结果−
+------------+
| squareRoot |
+------------+
| 12 |
+------------+
示例
在下面的示例中,我们将一个数作为字符串传递,使用SQRT()函数计算指定字符串的平方根。
以下是查询语句-
SELECT SQRT('400') AS squareRoot;
输出
执行上面的SQL查询时,我们将获得给定数字的平方根作为字符串-
+------------+
| squareRoot |
+------------+
| 20 |
+------------+
示例
在下面的示例中,我们使用负值来获取负值的平方根。
以下是查询:
SELECT SQRT(-400) AS squareRoot;
验证
当我们执行以上的SQL查询时,由于SQL中的SQRT不接受负值,所以会出现以下错误。但在MySQL中会显示NULL值。
An invalid floating point operation occurred.
示例
在下面的示例中,我们从客户表中获取ID和姓名,并计算工资的平方根。
让我们使用CREATE语句创建一个名为customers的表 –
CREATE TABLE customers(ID INT NOT NULL PRIMARY KEY(ID),
NAME VARCHAR(30) NOT NULL,
AGE INT NOT NULL, ADDRESS CHAR(30),
SALARY DECIMAL(18, 2));
让我们使用INSERT语句将数据插入到CUSTOMERS表中 –
insert INTO customers VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2000);
insert INTO customers VALUES(2, 'Aman' 23, 'Ranchi', 40000);
insert INTO customers VALUES(3, 'kaushik', 23, 'Kota', 2000);
insert INTO customers VALUES(4, 'Chaitali', 25, 'Mumbai', 6500);
insert INTO customers VALUES(5, 'Rakesh', 24, 'Kota', 30000);
insert INTO customers VALUES(6, 'Vivek', 22, 'Ranchi', 35000);
insert INTO customers VALUES(7, 'Akash', 22, 'Ranchi', 50000);
以下是顾客表 –
+------+----------+------+-----------+--------+
| ID | NAME | AGE | ADDRESS | SALARY |
+------+----------+------+-----------+--------+
| 1 | Ramesh | 32 | Ahmedabad | 2000 |
| 2 | Aman | 23 | Ranchi | 40000 |
| 3 | kaushik | 23 | Kota | 2000 |
| 4 | chsitali | 25 | Mumbai | 6500 |
| 5 | Rakesh | 24 | kota | 30000 |
| 6 | Vivek | 22 | Ranchi | 35000 |
| 7 | Akash | 22 | Ranchi | 50000 |
+------+----------+------+-----------+--------+
以下是SQL的SQRT()函数查询的语句:
SELECT ID, NAME, SQRT(SALARY) FROM customers;
输出
在执行上述SQL查询时,我们获得了ID,名称和工资的平方根 –
+------+----------+--------------------+
| ID | NAME | SQRT(SALARY) |
+------+----------+--------------------+
| 1 | Ramesh | 44.721359549995796 |
| 2 | Aman | 200 |
| 3 | kaushik | 44.721359549995796 |
| 4 | Chaitali | 80.62257748298549 |
| 5 | Rakesh | 173.20508075688772 |
| 6 | Vivek | 187.08286933869707 |
| 7 | Akash | 223.60679774997897 |
+------+----------+--------------------+