昨天在工作中遇到了擷取字串問題的,特地的學習了一下substr函式,在此做個記錄:
1、擷取不帶特殊欄位的某乙個特定字串:
(1) 從字串左邊某乙個位置擷取到其後面多少位:select substr('abcdefghijklmn',2,3) from dual
(2)從字串左邊某乙個位置(包括一位)擷取到最後:select substr('abcdefghijklmn',3) from dual
(3)從字串右邊某乙個位置向左擷取多少位:select substr('abcdefghijklmn',-3,3) from dual
(4)從字串右邊某乙個位置(包括一位)向左擷取多少位:select substr('abcdefghijklmn',-4) from dual
(1)含有多個特定字元,擷取其中乙個字元後的資料:
select substr('ssoc-dswb-13-001', instr('ssoc-dswb-12-001', '-', 1,(2)擷取特殊欄位前的字串:select substr('abcdef-ghijklmn',1,instr('abcdef-ghijklmn','-')-1) from dual1) +1) from dual
--解析:彩色背景的引數值,控制從第幾個特殊字元位置擷取;紅色字型的數字代表從第幾位開始擷取。即:從第乙個『-』後第一位開始擷取
select substr('ssoc-dswb-13-001', instr('ssoc-dswb-12-001', '-', 1,
1) +2) from dual
--解析:彩色背景的引數值,控制從第幾個特殊字元位置擷取;紅色字型的數字代表從第幾位開始擷取。
即:從第乙個『-』後第二位開始擷取
(3)擷取特殊欄位後的字串:select substr('abcd-efghijklmn',instr('abcd-efghijklmn','-')+1,length('abcd-efghijklmn')-instr('abcd-efghijklmn','-')) from dual
ORACLE字串擷取
substr 函式 擷取字串 語法 substr string,start,length string 表示源字串,即要擷取的字串。start 開始位置,從1開始查詢。如果start是負數,則從string字串末尾開始算起。length 可選項,表示擷取字串長度。示例 select substr h...
oracle中擷取字串
substring 返回字元 binary text 或 image 表示式的一部分。有關可與該函式一起使用的有效 microsoft sql server 資料型別的更多資訊,請參見資料型別。語法 substring expression start length 引數 expression 是字...
擷取oracle字串中的數字
方法一 如果oracle版本不是太低的話,使用 正規表示式函式 regexp substr 處理。regexp substr有5個引數,分別是 第乙個是輸入的字串 第二個是正規表示式 第三個是標識從第幾個字元開始正規表示式匹配。預設為1 第四個是標識第幾個匹配組。預設為1 第五個是是取值範圍 i 大...