首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL SQRT() 函數詳解:平方根計算與員工打字量實戰

     編輯:MySQL 綜合教學

函數語法

SQRT(number)

返回參數的平方根,結果為 DOUBLE 類型。參數為負數返回 NULL。

基礎示例

mysql> SELECT SQRT(16);
+----------+
| SQRT(16) |
+----------+
| 4.000000 |
+----------+

員工表實戰:計算每日打字量平方根

+------+------+------------+--------------------+
| 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                |
+------+------+------------+--------------------+
mysql> SELECT name, SQRT(daily_typing_pages) FROM employee_tbl;
+------+--------------------------+
| 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                |
+------+--------------------------+

進階應用

  • 標準差計算:SQRT(VARIANCE(col)) 或 SQRT(AVG(col*col) - AVG(col)*AVG(col))
  • 歐幾里得距離:SQRT(POW(x1-x2,2) + POW(y1-y2,2))
  • 幂運算替代:SQRT(x) 等價於 POW(x, 0.5) 或 x ^ 0.5

注意事項

  • 內部以浮點運算,極大數可能溢出或精度損失
  • 負數參數返回 NULL,不報錯,需業務層判斷
  • 索引列上使用 SQRT 會導致索引失效,避免 WHERE SQRT(col) > 10
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved