我有一个像下面的字符串,我需要得到10472314。这是最后一个词,但在这种情况下是一个。你能告诉我如何在PL / SQL块中获取它吗?任何字符串函数?
processed "SCOTT"."PRINCE05" 10472314 rows
@ UPDATE
最后,我设法使用字符串函数构建解决方案。
SUBSTR( name, INSTR( name, ' ', -1 , 2 ) + 1 , INSTR( name, ' ', -1 , 1 ) - INSTR( name, ' ', -1 , 2 ) )
答案 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.