位置是從1 開始
substr("ABCDEFG", 0); //返回:ABCDEFG,截取全部字符 html
substr("ABCDEFG", 1); //返回:ABCDEFG,截取全部字符 spa
substr("ABCDEFG", -0); //返回:ABCDEFG,截取全部字符 -0=0,都是從左邊截htm
substr("ABCDEFG", -0,1); //返回:A,從左截1位blog
substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始以後全部字符 字符串
substr("ABCDEFG", -2); //返回:FG,從右邊數第二位開始截取string
substr("ABCDEFG", -2,1); //返回:F,從右邊數第二位開始截取1位長度
substr("ABCDEFG", 0, 3); //返回:ABC,截取從A開始3個字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預處理的字符串最長度,但不會影響返回結果,系統按預處理字符串最大數量返回。
substr("ABCDEFG", -3); //返回:EFG,注意參數-3,爲負值時表示從尾部開始算起,字符串排列位置不變。it
2. INSTR(string,subString,position,ocurrence)查找字符串位置 從1開始
解釋:string:源字符串
subString:要查找的子字符串
position:查找開始位置(從1開始) 不能夠是0,會找不見,-是從右邊找io
好比:-2 從右邊第二位開始找,select
ocurrence:源字符串中第幾回出現的子字符串 不加這個參數默認是1co
substr("ABCDEFG", -2,1); //返回:F,從右邊數第二位開始截取1位長度
select instr('ABCDEFGABCDEFG','B',2) from dual 返回2
select instr('ABCDEFGABCDEFG','B',3) from dual 返回9
select instr('ABCDEFGABCDEFG','B',-1) from dual 返回9
select instr('ABCDEFGABCDEFG','B',-1,2) from dual 返回2
select instr('ABCDEFGABCDEFG','B',1,2) from dual 返回9
For example: 取A001HZJKQS 中間的001
substr('A001HZJKQS',2,instr('A001HZJKQS','HZJKQS',1)-2)
參考貼: https://www.cnblogs.com/cyblogs/p/5983612.html