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

Oracle 與 SQL Server 常用函數對照表:數學、三角、比較篇

     編輯:Oracle 資料庫基礎

數學函數對照

功能SQL ServerOracle備註
絕對值ABS(-1)ABS(-1)同名
向上取整CEILING(-1.001)CEIL(-1.001)Oracle 縮寫
向下取整FLOOR(-1.001)FLOOR(-1.001)同名
截取整數CAST(-1.002 AS INT)TRUNC(-1.002)Oracle TRUNC 預設截向零
四捨五入ROUND(1.23456,4)ROUND(1.23456,4)同名,Oracle 不保留尾隨零
e 的冪次EXP(1)EXP(1)同名
自然對數LOG(2.718...)LN(2.718...)Oracle 用 LN
以 10 為底對數LOG10(10)LOG(10,10)Oracle LOG(base, value)
平方SQUARE(4)POWER(4,2)Oracle 通用 POWER
平方根SQRT(4)SQRT(4)同名
任意冪次POWER(3,4)POWER(3,4)同名
隨機數RAND()DBMS_RANDOM.VALUE(0,1)Oracle 需套件
正負號SIGN(-8)SIGN(-8)同名

三角函數與角度轉換

功能SQL ServerOracle備註
圓周率 πPI()ACOS(-1)Oracle 無內建 PI()
SIN/COS/TANSIN(rad)SIN(rad)參數皆為弧度
反三角 ASIN/ACOS/ATAN/ATAN2ASIN(val)ASIN(val)同名,回傳弧度
弧度轉角度DEGREES(rad)無內建Oracle 自寫:rad * 180 / ACOS(-1)
角度轉弧度RADIANS(deg)無內建Oracle 自寫:deg * ACOS(-1) / 180

集合最大/最小值比較

功能SQL ServerOracle
多值最大值MAX() 針對 UNION 集合GREATEST(1, -2, 4, 3)
多值最小值MIN() 針對 UNION 集合LEAST(1, -2, 4, 3)

遷移提醒

  • Oracle 所有函數需 FROM DUAL (除在 SELECT 列表中)。
  • TRUNC vs FLOOR:負數行為不同 (TRUNC(-1.5)=-1, FLOOR(-1.5)=-2)。
  • 隨機數:Oracle DBMS_RANDOM 需初始化,效能較差,大量產生建議 PL/SQL 批次。
  • 角度轉換函數 Oracle 無內建,遷移時建立包裝函數統一介面。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved