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

Oracle 內建函數速查手冊:字串、數學、日期、轉換與彙總

     編輯:Oracle 資料庫基礎

單列字串函數

函數用途範例
ASCII / CHR字元編碼雙向轉換ASCII('A')=65, CHR(65)='A'
CONCAT / ||字串串接CONCAT('A','B')='AB'
INITCAP單字首字大寫INITCAP('oracle db')='Oracle Db'
INSTR搜尋子字串位置INSTR('Oracle','ra',1,2)=9
LENGTH / LENGTHB字元/位元組長度LENGTH('中文')=2, LENGTHB=6
LOWER / UPPER大小寫轉換UPPER('abc')='ABC'
LPAD / RPAD左右填充LPAD('9',5,'0')='00009'
LTRIM / RTRIM / TRIM修剪空白或指定字元TRIM(' AB ')='AB'
SUBSTR擷取子字串SUBSTR('13088888888',3,8)='08888888'
REPLACE字串替換REPLACE('he love you','he','i')='i love you'
SOUNDEX同音比對SOUNDEX('weather')=SOUNDEX('wether')

數學函數

函數說明範例
ABS / SIGN絕對值 / 正負號ABS(-5)=5, SIGN(-5)=-1
CEIL / FLOOR向上/向下取整CEIL(3.1)=4, FLOOR(3.9)=3
ROUND / TRUNC四捨五入 / 截斷ROUND(55.5)=56, TRUNC(55.5)=55
POWER / SQRT冪次 / 平方根POWER(2,10)=1024, SQRT(64)=8
MOD餘數MOD(10,3)=1
EXP / LN / LOG指數/自然對數/任意底對數LOG(2,4)=2
三角函數SIN, COS, TAN, ASIN, ACOS, ATANACOS(-1)=3.1415927
雙曲函數SINH, COSH, TANHCOSH(20)=2.4258E8

日期時間函數

函數用途範例
SYSDATE / CURRENT_DATE資料庫/會話當前日期SYSDATE → 2024-01-15 14:30:00
ADD_MONTHS月份加減ADD_MONTHS(SYSDATE,3)
LAST_DAY該月最後一天LAST_DAY(SYSDATE)
MONTHS_BETWEEN兩日期月差MONTHS_BETWEEN(d1,d2)
NEXT_DAY下一個指定週幾NEXT_DAY(SYSDATE,'FRIDAY')
ROUND / TRUNC (日期)日期捨入/截斷TRUNC(SYSDATE,'MM')=月初
TO_CHAR / TO_DATE日期⇄字串轉換TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')
NEW_TIME時區轉換NEW_TIME(d,'PDT','GMT')

轉換函數

TO_CHAR(date, 'fmt')     -- 日期轉字串
TO_DATE(str, 'fmt')      -- 字串轉日期
TO_NUMBER(str)           -- 字串轉數值
HEXTORAW / RAWTOHEX      -- 16進位⇄二進位
CHARTOROWID / ROWIDTOCHAR -- ROWID⇄字串
CONVERT(str, dest_cs, src_cs) -- 字符集轉換

彙總/群組函數

函數說明
AVG / SUM / COUNT平均/總和/筆數 (支援 DISTINCT)
MAX / MIN最大/最小值
STDDEV / VARIANCE標準差 / 變異數
GROUP BY / HAVING分組與分組過濾

條件/邏輯函數

-- DECODE (Oracle 專有)
DECODE(grade, 'A',4, 'B',3, 'C',2, 0)

-- CASE (ANSI 標準,支援布林判斷)
CASE grade
  WHEN 'A' THEN 4
  WHEN 'B' THEN 3
  ELSE 0
END

-- NVL / NVL2 / COALESCE
NVL(comm, 0)              -- NULL 給預設值
NVL2(comm, 'Y', 'N')      -- 非NULL/NULL 給不同值
COALESCE(a,b,c)           -- 回傳第一個非NULL

其他實用函數

  • USER / UID:當前用戶名/ID
  • USERENV('LANGUAGE'):會話語言環境
  • VSIZE(expr):運算式位元組大小
  • DUMP(expr, fmt, start, len):內部儲存格式檢視
  • EMPTY_BLOB() / EMPTY_CLOB():LOB 初始化
  • GREATEST / LEAST:多值最大/最小
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved