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

Oracle SQL 內建函數完整指南:分類、語法與實戰範例

     編輯:Oracle 資料庫基礎

單列字串函數

函數說明範例結果
ASCII回傳字元對應十進位碼ASCII('A')65
CHR回傳數值對應字元CHR(54740)趙
CONCAT串接兩字串CONCAT('010-','88888888')010-88888888
INITCAP首字母大寫INITCAP('smith')Smith
INSTR搜尋子字串位置INSTR('Oracle traning','ra',1,2)9
LENGTH字串長度LENGTH('高乾競')3
LOWER/UPPER轉小寫/大寫LOWER('AaBb')aabb
LPAD/RPAD左/右填充字元LPAD(RPAD('gao',10,'*'),17,'*')*******gao*******
LTRIM/RTRIM移除左/右指定字元LTRIM(RTRIM(' gao ',' '),' ')gao
SUBSTR擷取子字串SUBSTR('13088888888',3,8)08888888
REPLACE字串取代REPLACE('he love you','he','i')i love you
SOUNDEX同音字串比對SOUNDEX('weather')=SOUNDEX('wether')true
TRIM修剪前導/尾隨字元TRIM('x' FROM 'xxxabcxxx')abc

單列數值函數

函數說明範例結果
ABS絕對值ABS(-100)100
ACOS/ASIN/ATAN反三角函數ACOS(-1)3.1415927
CEIL/FLOOR向上/向下取整CEIL(3.14)4
COS/SIN/TAN三角函數COS(-3.1415927)-1
COSH/SINH/TANH雙曲函數SINH(20)242582598
EXP/LN/LOG指數/對數LOG(2,4)2
MOD餘數MOD(10,3)1
POWER冪運算POWER(2,10)1024
ROUND/TRUNC四捨五入/截斷ROUND(55.5), TRUNC(55.5)56, 55
SIGN正負號SIGN(-100)-1
SQRT平方根SQRT(64)8

日期時間函數

函數說明範例
ADD_MONTHS增減月份ADD_MONTHS(TO_DATE('199912','YYYYMM'),2) → 200002
LAST_DAY該月最後一天LAST_DAY(SYSDATE)
MONTHS_BETWEEN兩日期月差MONTHS_BETWEEN('19-12月-1999','19-3月-1999') → 9
NEW_TIME時區轉換NEW_TIME(SYSDATE,'PDT','GMT')
NEXT_DAY下一個指定週日NEXT_DAY('18-5月-2001','星期五') → 25-5月-01
SYSDATE系統當前日期TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS')
TRUNC(date,fmt)日期截斷TRUNC(SYSDATE,'MI') 保留至分

轉換函數

函數說明
TO_CHAR日期/數值 → 字串(含格式模型)
TO_DATE字串 → 日期
TO_NUMBER字串 → 數值
CHARTOROWID / ROWIDTOCHARROWID ↔ 字串互轉
HEXTORAW / RAWTOHEX十六進位 ↔ 二進位互轉
CONVERT字元集轉換
TO_MULTI_BYTE / TO_SINGLE_BYTE單雙位元組互轉

其他實用函數

  • DECODE:條件判斷(類似 CASE WHEN),範例:解碼 V$SESSION.COMMAND 代碼為操作名稱。
  • DUMP:回傳內部表示資訊(型別、長度、字元集、內容)。
  • EMPTY_BLOB()/EMPTY_CLOB():LOB 欄位初始化。
  • GREATEST/LEAST:回傳最大/最小值(支援字串比較)。
  • UID/USER/USERENV:取得當前使用者識別碼、名稱、環境資訊(SESSIONID, LANGUAGE, TERMINAL, ISDBA 等)。
  • VSIZE:回傳運算式位元組大小。

群組函數

函數說明
AVG/MAX/MIN平均/最大/最小值,支援 DISTINCT/ALL
STDDEV/VARIANCE標準差/變異數
GROUP BY / HAVING分組統計與條件過濾
ORDER BY結果排序

使用建議

  • 字串函數注意 NLS 字元集影響(如 LENGTH 在多位元組字元集下行為)。
  • 日期格式模型區分大小寫(YYYY vs RRRR, MM vs MON)。
  • 數值運算隱含型別轉換可能影響效能,建議顯式轉換。
  • DECODE 在 8i 後建議改用標準 CASE 表達式以提高可攜性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved