我想获取特定字符之后但最后一次出现的所有字符
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
你可以试试下面的-
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;
想要获取特定字符之后但最后一次出现的所有字符。
当前 'CSM.Sales.0000.Territory Manager' 期望输出:区域经理
SELECT
SUBSTR('CSM.Sales.0000.Territory Manager', INSTR('CSM.Sales.0000.Territory Manager', '.') + 1) AS subject
FROM dual
你可以试试下面的-
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;