首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 數學函數完整參考手冊:語法、範例與邊界行為

     編輯:MySQL 資料庫相關知識

通用規則

  • 所有數學函數於錯誤/無定義時返回 NULL。
  • 整數運算溢位行為視版本而異,BIGINT 範圍外謹慎使用一元負號。

函數分類速查表

基本算術與符號

函數說明範例
-X一元負號,改變符號SELECT -2; → -2
ABS(X)絕對值ABS(-32) → 32
SIGN(X)符號:-1/0/1SIGN(-5) → -1
MOD(N,M) / N % M模(餘數)234 % 10 → 4

捨入與截斷

函數說明範例
FLOOR(X)≤X 最大整數FLOOR(-1.23) → -2
CEILING(X)≥X 最小整數CEILING(-1.23) → -1
ROUND(X)四捨五入至整數ROUND(1.58) → 2
ROUND(X,D)四捨五入至 D 位小數ROUND(1.298,1) → 1.3
TRUNCATE(X,D)截斷至 D 位小數(不四捨五入)TRUNCATE(1.999,1) → 1.9

注意:FLOOR/CEILING/ROUND 回傳值會轉為 BIGINT,極大值可能溢位。

指數與對數

函數說明範例
EXP(X)e 的 X 次方EXP(2) → 7.389
LOG(X)自然對數 (ln)LOG(2) → 0.693
LOG10(X)以 10 為底對數LOG10(100) → 2
POW(X,Y) / POWER(X,Y)X 的 Y 次方POW(2,-2) → 0.25
SQRT(X)平方根 (X≥0)SQRT(20) → 4.472

任意底對數公式:LOG(X)/LOG(B)。

三角函數(弧度制)

函數說明範例
PI()圓周率3.141593
SIN(X)正弦SIN(PI()) → 0
COS(X)餘弦COS(PI()) → -1
TAN(X)正切TAN(PI()+1) → 1.557
ASIN(X)反正弦 (-1≤X≤1)ASIN(0.2) → 0.201
ACOS(X)反餘弦 (-1≤X≤1)ACOS(0) → 1.571
ATAN(X)反正切ATAN(2) → 1.107
ATAN2(Y,X)兩參數反正切,定象限ATAN2(-2,2) → -0.785
COT(X)餘切COT(12) → -1.573

角度弧度轉換

函數說明範例
DEGREES(X)弧度 → 角度DEGREES(PI()) → 180
RADIANS(X)角度 → 弧度RADIANS(90) → 1.571

隨機數

函數說明
RAND()0~1 隨機浮點數
RAND(N)種子 N,固定序列

SELECT * FROM t ORDER BY RAND() 可隨機抽樣(3.23+)。

極值比較

函數說明比較規則
LEAST(X,Y,...)最小值整數語境→整數比較;實數→實數;含區分大小寫字串→二進制比較;否則不區分大小寫
GREATEST(X,Y,...)最大值同 LEAST

3.22.5 前可用 MIN()/MAX() 替代(僅限聚合語境)。

常見陷阱提醒

  • LOG(-1)、ASIN(2)、COT(0) 等未定義輸入 → NULL,不報錯,應用層需自行判斷。
  • ROUND/FLOOR/CEILING 回傳 BIGINT,極大值可能溢位截斷。
  • RAND() 在 ORDER BY 中會重複計算,3.23 前不可用於排序。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved