我想获取特定字符之后但最后一次出现的所有字符

I want to get all characters after a specific character but at its last occurance

想要获取特定字符之后但最后一次出现的所有字符。

当前 'CSM.Sales.0000.Territory Manager' 期望输出:区域经理

SELECT
    SUBSTR('CSM.Sales.0000.Territory Manager', INSTR('CSM.Sales.0000.Territory Manager', '.') + 1) AS subject
FROM dual

你可以试试下面的-

DEMO

select substr('CSM.Sales.0000.Territory Manager', - 
    instr(reverse('CSM.Sales.0000.Territory Manager'), '.') + 1) from dual

输出:

Territory Manager
select SUBSTRING_INDEX('CSM.Sales.0000.Territory Manager', '.',-1) FROM DUAL;

REGEXP_SUBSTR() 正是这样做的:

SELECT REGEXP_SUBSTR('CSM.Sales.0000.Territory Manager', '[^.]+$', 1, 1) AS subject
FROM dual;