如何获得字符串中的倒数第二个字?

时间:2017-02-22 03:29:00

标签: oracle plsql

我有一个像下面的字符串,我需要得到10472314。这是最后一个词,但在这种情况下是一个。你能告诉我如何在PL / SQL块中获取它吗?任何字符串函数?

processed "SCOTT"."PRINCE05"                         10472314 rows

@ UPDATE

最后,我设法使用字符串函数构建解决方案。

SUBSTR( name, INSTR( name, ' ', -1 , 2 ) + 1 , INSTR( name, ' ', -1 , 1 ) - INSTR( name, ' ', -1 , 2 ) ) 

1 个答案:

答案 0 :(得分:0)

如果我们在INSTR中使用'-1'魔术选项,那么我们可以按相反的顺序搜索字符串。通过这样做,我相信我们可以找到最后一个字,但是如下所示。 它看起来很脏,但它对我有用。

SELECT SUBSTR( name, INSTR( name, ' ', -1 , 2 ) + 1 , INSTR( name, ' ', -1 , 1 ) - INSTR( name, ' ', -1 , 2 ) ) 
FROM prince_test;

INSTR( name, ' ', -1 , 2 ) + 1  ==> the second occurrence of SPACE
INSTR( name, ' ', -1 , 1 ) - INSTR( name, ' ', -1 , 2 )  ==> position gap between the first occurrence and the second.