oracle 截取指定字符串最后一次出现

  1. 首先获取最后一次出现的- 的位置
instr('aaaa-bbbb-cc','-',-1),这样就得到了最后一个-的下标
  1. 从最后一次出现-的位置开始截取字符串
    下标加一,然后截取
substr('aaaa-bbbb-cc','-',-1, 1, instr('aaaa-bbbb-cc','-',-1)+1)

提示:

instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')

订单号最后的'-数字'截取掉 55A22022071600000818-10-1 变成 55A22022071600000818-10

CASE
 WHEN instr( NCC10.IC_FINPRODIN_H.vbillcode, '-',- 1 ) > 0 THEN
 substr( NCC10.IC_FINPRODIN_H.vbillcode, 1, instr( NCC10.IC_FINPRODIN_H.vbillcode, '-',- 1 ) - 1 ) 
ELSE NCC10.IC_FINPRODIN_H.vbillcode 
END newvbillcode,

posted on 2022-07-26 17:18  何苦->  阅读(3491)  评论(0)    收藏  举报

导航