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

SQL 循序漸進 (16):標準算術運算子與常用數學函數

     編輯:關於SqlServer

ANSI SQL-92 四大基本運算子

運算子功能
+加法
-減法
*乘法
/除法

擴充運算子:取餘數

  • %:非 ANSI 標準,但絕大多數 DBMS 支援
  • 功能:回傳除法餘數
  • 等效函數:MOD(x, y)

常用數學函數(主流 DBMS 多支援,非 ANSI 標準)

實務應用範例

  • 金額計算:price * qty * (1 + tax_rate)
  • 分頁:FLOOR((row_num - 1) / page_size) + 1
  • 隨機抽樣:WHERE RAND() < 0.01
  • 絕對差異:ABS(actual - target)

注意事項

  • 整數除法在某些 DBMS 會截斷(5/2 = 2),需轉型:CAST(5 AS FLOAT)/2
  • NULL 參與運算結果為 NULL,需用 COALESCE/ISNULL 處理
  • 函數名稱大小寫不敏感,但建議統一風格
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
函數說明範例
ABS(x)絕對值ABS(-5) = 5
SIGN(x)正負號:負→-1、零→0、正→1SIGN(-3) = -1
MOD(x, y)x 除以 y 的餘數MOD(10, 3) = 1
FLOOR(x)≤ x 之最大整數(向下取整)FLOOR(3.7) = 3
CEILING(x)≥ x 之最小整數(向上取整)CEILING(3.2) = 4
ROUND(x, n)四捨五入至 n 位小數ROUND(3.14159, 2) = 3.14
POWER(x, y)x 的 y 次方POWER(2, 3) = 8
SQRT(x)平方根SQRT(16) = 4
RAND()隨機浮點數 0~1RAND() → 0.738...