--第一段
SELECT substr('1233***6795',
0,
(select instr('1233***6795', '***', 1, 1) from dual) - 1)
from dual;
--第二段
SELECT substr('1233***6795',((select instr('1233***6795', '***', 1, 1)
from dual) + 3),
(select length('1233***6795') from dual)) from dual;
select instr('1233***6795', '***', 1, 1) from dual
1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符 substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始之后所有字符 substr("ABCDEFG", 0, 3); //返回:ABC,截取從A開始3個字符 substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預處理的字符串最長度,但不會影響返回結果,系統按預處理字符串最大數量返回。 substr("ABCDEFG", -3); //返回:EFG,注意參數-3,為負值時表示從尾部開始算起,字符串排列位置不變。 |
2.INSTR(string,subString,position,ocurrence)查找字符串位置
INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串為'CORPORATE FLOOR', 目標字符串為'OR',起始位置為3,取第2個匹配項的位置;返回結果為 14 '
lengthb(string)計算string所占的字節長度 :返回字符串的長度,單位是字節
length(string)計算string所占的字符長度 :返回字符串的長度,單位是字符