吾爱官方 发表于 2023-5-12 19:10:09

MySQL SQRT函数:求二次方根

在 MySQL 中平方根函数 SQRT(x) 返回非负数 x 的二次方根。负数没有平方根,返回结果为 NULL。

【实例 1】求 25、120 和 -9 的二次平方根,输入的 SQL 语句和执行结果如下所示。mysql> SELECT SQRT(25),SQRT(120),SQRT(-9);
+----------+--------------------+----------+
| SQRT(25) | SQRT(120)          | SQRT(-9) |
+----------+--------------------+----------+
|      5 | 10.954451150103322 |   NULL |
+----------+--------------------+----------+
1 row in set (0.06 sec)
由运行结果可知,5 的平方等于 25,因此 25 的平方根为 5;120 的平方根为 10.954451150103322;而负数没有平方根,因此 -9 返回的结果为 NULL。

也可以使用 SQRT 函数,计算出记录的平方根。

【实例 2】 假设数据表 tb_people 有以下这些数据:
mysql> SELECT * FROM tb_people;
+------+------+------------+--------------------+
| id   | name | work_date| daily_typing_pages |
+------+------+------------+--------------------+
|1   | John | 2007-01-24 |      250         |
|2   | Ram| 2007-05-27 |      220         |
|3   | Jack | 2007-05-06 |      170         |
|3   | Jack | 2007-04-06 |      100         |
|4   | Jill | 2007-04-06 |      220         |
|5   | Zara | 2007-06-06 |      300         |
|5   | Zara | 2007-02-06 |      350         |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)
根据上面的表格,要计算所有的 dialy_typing_pages 的平方根,输入 SQL 语句执行结果如下:mysql> SELECT name, SQRT(daily_typing_pages)
-> FROM tb_people;
+------+--------------------------+
| name | SQRT(daily_typing_pages) |
+------+--------------------------+
| John |      15.811388         |
| Ram|      14.832397         |
| Jack |      13.038405         |
| Jack |      10.000000         |
| Jill |      14.832397         |
| Zara |      17.320508         |
| Zara |      18.708287         |
+------+--------------------------+
7 rows in set (0.00 sec)
页: [1]
查看完整版本: MySQL SQRT函数:求二次方根