oracle 中的 indexof/lastindexof以及Lpad,length

 


--pl/sql中的indexof和lastindexof instr INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。
--默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找
select substr('2.3.30.41',INSTR('1.2.30.1', '.', -1, 1)+1) FROM DUAL

indexof:substr的第三个参数为1;

lastindexor:substr的第三个参数为-1。

应用: update subject t set t.subject_id_v = LPAD(substr(t.subject_id,INSTR(t.subject_id, '.', -1, 1)+1), 3, '0')

说明:取subject_id字段中最后一个“.”后面的字符串,如果取出来的字符串长度小于3,则在此字符串前面加0补足三位。



select SUBSTR('商城销售单商城销售单{[VIP_TIMES_590', INSTR('商城销售单商城销售单{[VIP_TIMES_590','{[',-1,1)+2, 35),
    length('商城销售单商城销售单{[VIP_TIMES_590')
   from dual;

你可能感兴趣的:(indexOf)