天天看點

[轉]Oracle截取字元串相關函數

1.instr(sourceString,destString,start,appearPosition)

​<code>​sourceString代表源字元串;​</code>​

​<code>​destString代表想從源字元串中查找的子串;​</code>​

​<code>​start代表查找的開始位置,該參數可選的,預設為1;​</code>​

​<code>​appearPosition代表想從源字元中查找出第幾次出現的destString,該參數也是可選的,預設為1;​</code>​

​<code>​select​</code>​ ​<code>​instr(​</code>​​<code>​'yuechaotianyuechao'​</code>​​<code>​,​</code>​​<code>​'ao'​</code>​​<code>​) position ​</code>​​<code>​from​</code>​ ​<code>​dual; return 6​</code>​

2.​<code>​substr(​</code>​​<code>​string​</code>​​<code>​, start_position, [ length ] )​</code>​

​<code>​string​</code>​​<code>​代表目标字元串​</code>​

​<code>​start_position​</code>​​<code>​代表開始位置​</code>​

​<code>​length​</code>​​<code>​代表長度​</code>​

  ​<code>​substr(​</code>​​<code>​'This is a test'​</code>​​<code>​, 6, 2) ​</code>​​<code>​return​</code>​ ​<code>​'is'​</code>​

3.instr與substr綜合使用

​<code>​将 C3411.907w15 截取點号之前的字元串 C3411    ​</code>​

​<code>​SUBSTR (​</code>​​<code>​'C3411.907w15'​</code>​​<code>​,0,INSTR (​</code>​​<code>​'C3411.907w15, '​</code>​​<code>​.', 1, 1) - 1) return C3411​</code>​

​<code>​将 C3411.907w15 截取點号之後 的字元串 907w15   ​</code>​

​<code>​SUBSTR (​</code>​​<code>​'C3411.907w15'​</code>​​<code>​,INSTR (​</code>​​<code>​'C3411.907w15'​</code>​​<code>​, ​</code>​​<code>​'.'​</code>​​<code>​, 1, 1)+1) return 907w15​</code>​

繼續閱讀