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

SQL Server 與 Oracle 常用函數對照表:數學、字串、日期、轉換全覆蓋

     編輯:Oracle 資料庫相關知識

數學函數

功能SQL ServerOracle
絕對值ABS(-1)ABS(-1)
向上取整CEILING(-1.001)CEIL(-1.001)
向下取整FLOOR(-1.001)FLOOR(-1.001)
截取整數CAST(-1.002 AS INT)TRUNC(-1.002)
四捨五入ROUND(1.23456,4)ROUND(1.23456,4)
e 的冪EXP(1)EXP(1)
自然對數LOG(2.718...)LN(2.718...)
以 10 為底對數LOG10(10)LOG(10,10)
平方SQUARE(4)POWER(4,2)
平方根SQRT(4)SQRT(4)
任意冪POWER(3,4)POWER(3,4)
隨機數RAND()DBMS_RANDOM.VALUE(0,1)
符號SIGN(-8)SIGN(-8)
圓周率PI()無內建,用 3.141592653589793
三角函數SIN/COS/TAN (弧度)SIN/COS/TAN (弧度)
反三角ASIN/ACOS/ATAN/ATN2ASIN/ACOS/ATAN/ATAN2
弧度↔角度DEGREES / RADIANS無內建,自行計算

字串函數(節選)

功能SQL ServerOracle
連接+ / CONCAT()|| / CONCAT()
長度LEN / DATALENGTHLENGTH / LENGTHB
子串SUBSTRING(str,start,len)SUBSTR(str,start,len)
大寫/小寫UPPER / LOWERUPPER / LOWER
去空格LTRIM / RTRIMLTRIM / RTRIM / TRIM
替換REPLACE(str,old,new)REPLACE(str,old,new)
查找位置CHARINDEX / PATINDEXINSTR

日期函數(節選)

功能SQL ServerOracle
當前日期時間GETDATE()SYSDATE / SYSTIMESTAMP
日期加減DATEADD(day,1,getdate())SYSDATE + 1
日期差DATEDIFF(day,d1,d2)D2 - D1 (結果為數值)
格式化輸出CONVERT(VARCHAR,getdate(),120)TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')
字串轉日期CAST('2023-01-01' AS DATETIME)TO_DATE('2023-01-01','YYYY-MM-DD')
截取年/月/日YEAR/ MONTH/ DAYEXTRACT(YEAR FROM d) / TO_CHAR(d,'MM')

類型轉換

  • SQL Server:CAST(expr AS type)、CONVERT(type, expr, style)。
  • Oracle:TO_CHAR、TO_NUMBER、TO_DATE、CAST(expr AS type) (10g+)。

系統/元數據函數

  • SQL Server:@@VERSION、DB_NAME()、OBJECT_ID()、COL_NAME()。
  • Oracle:USER、SYS_CONTEXT('USERENV','DB_NAME')、ORA_DICTIONARY_OBJ_OWNER 等。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved