首页 > MySQL函数

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)

推荐阅读