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

Oracle 單行字串函數大全:語法、參數與實用範例

     編輯:Oracle 資料庫基礎

概覽

單行字串函數接受字串輸入,回傳字串或數值結果,是 SQL 與 PL/SQL 字串處理的基石。以下依功能分類整理常用函數。

字元編碼轉換

函數說明範例
ASCII(c)回傳第一個字元的 ASCII/編碼值ASCII('a') → 97
CHR(n)回傳編碼值對應字元(反函數)CHR(97) → 'a'

字串連結

函數/運算子說明範例
CONCAT(s1, s2)連接兩字串,任一為 NULL 回傳另一CONCAT('ab','cd') → 'abcd'
s1 || s2連接運算子,功能同 CONCAT'ab' || 'cd' → 'abcd'

大小寫轉換

函數說明範例
UPPER(s)全大寫UPPER('AbC') → 'ABC'
LOWER(s)全小寫LOWER('AbC') → 'abc'
INITCAP(s)每個單字首字母大寫,其餘小寫INITCAP('hello world') → 'Hello World'

長度與位元組

函數說明範例
LENGTH(s)字元長度LENGTH('中文') → 2
LENGTHB(s)位元組長度LENGTHB('中文') → 6 (UTF-8)

子字串搜尋與擷取

函數語法說明範例
INSTRINSTR(src, target [, pos [, occ]])搜尋 target 在 src 中第 occ 次出現位置,從 pos 開始INSTR('mississippi','i',3,3) → 11
INSTRB同 INSTR,但以位元組計算
SUBSTRSUBSTR(src, pos [, len])從 pos 擷取 len 字元,len 省略則到尾SUBSTR('message',1,4) → 'mess'
SUBSTRB同 SUBSTR,以位元組計算

填充與修剪

函數語法說明範例
LPADLPAD(s, n [, pad])左側以 pad 填充至長度 nLPAD('abc',6,'*') → '***abc'
RPADRPAD(s, n [, pad])右側填充RPAD('abc',6,'*') → 'abc***'
LTRIMLTRIM(s [, set])移除左側出現在 set 中的字元(預設空白)LTRIM(' abc') → 'abc'
RTRIMRTRIM(s [, set])移除右側RTRIM('abc ') → 'abc'
TRIMTRIM([LEADING|TRAILING|BOTH] [c] FROM s)標準 SQL 修剪,支援指定字元TRIM('x' FROM 'xxabcxx') → 'abc'

替換與轉換

函數語法說明範例
REPLACEREPLACE(s, old, new)將 s 中所有 old 替換為 newREPLACE('uptown','up','down') → 'downtown'
TRANSLATETRANSLATE(s, from, to)逐字元對應替換(from 第 i 字 → to 第 i 字)TRANSLATE('fumble','uf','ar') → 'ramble'

其他實用函數

函數說明範例
SOUNDEX(s)回傳發音相似代碼(英文名匹配)SOUNDEX('Smith') → 'S530'

實務小技巧

  • INSTR 搭配 SUBSTR 可實現靈活切分:
    SUBSTR(col, 1, INSTR(col, ',')-1) 取逗號前段。
  • TRIM 僅能指定「單一字元」,多字元需用 LTRIM/RTRIM 疊加。
  • 多位元組字元集環境下,LENGTHB/INSTRB/SUBSTRB 才能精確控制位元組邊界。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved