Oracle擷取字串和查詢字串

2021-09-01 14:03:58 字數 879 閱讀 3208

oracle 擷取字元(substr),檢索字元位置(instr) case when then else end語句使用 收藏 

常用函式:substr和instr

1.substr(string,start_position,[length])    求子字串,返回字串

解釋:string 元字串

start_position   開始位置(從0開始)

length 可選項,子字串的個數

for example:

substr("abcdefg", 0); //返回:abcdefg,擷取所有字元 

substr("abcdefg", 2); //返回:cdefg,擷取從c開始之後所有字元 

substr("abcdefg", 0, 3); //返回:abc,擷取從a開始3個字元 

substr("abcdefg", 0, 100); //返回:abcdefg,100雖然超出預處理的字串最長度,但不會影響返回結果,系統按預處理字串最大數量返回。 

substr("abcdefg", 0, -3); //返回:efg,注意引數-3,為負值時表示從尾部開始算起,字串排列位置不變。

2.instr(string,substring,position,ocurrence)查詢字串位置

解釋:string:源字串

substring:要查詢的子字串

position:查詢的開始位置

ocurrence:源字串中第幾次出現的子字串

for example:

instr('corporate floor','or', 3, 2)中,源字串為'corporate floor', 目標字串為'or',起始位置為3,取第2個匹配項的位置;返回結果為 14 '

Oracle擷取字串和查詢字串

oracle 擷取字元 substr 檢索字元位置 instr case when then else end語句使用 收藏 常用函式 substr和instr 1.substr string,start position,length 求子字串,返回字串 解釋 string 元字串 start p...

Oracle擷取字串

今天遇到的問題是 我需要乙個201802281530時間格式的字串 即年月日時分 但是讀取的oracle資料庫裡只有2018 02 28 15 30 00這種格式的char型別。由於程式大都是直接呼叫其他方法,不方便在程式內操作,只能在oracle讀取時解決問題。解決後的最終sql 為 substr...

oracle擷取字串

格式1 substr string string,int a,int b 格式2 substr string string,int a 解釋 格式1 1 string 需要擷取的字串 2 a 擷取字串的開始位置 注 當a等於0或1時,都是從第一位開始擷取 3 b 要擷取的字串的長度 格式21 str...