Oracle声明

use*_*481 1 oracle

表记录如下

D:\HOME\DOC\FILE\2001\12\TT-12S2Q99-EE-EE1.pdf  
D:\HOME\DOC\FILE\2002\02\TT-12S2Q94-EE-EE1.xml  
D:\HOME\DOC\FILE\2005\05\TT-12S2Q98-EE-EE1.pdf  
D:\HOME\DOCS\TEMPFILE\TT-12S2Q88-EE-EE1.pdf  
Run Code Online (Sandbox Code Playgroud)

我想只提取这些文件名.结果应该是

TT-12S2Q99-EE-EE1    
TT-12S2Q94-EE-EE1   
TT-12S2Q98-EE-EE1    
TT-12S2Q88-EE-EE1
Run Code Online (Sandbox Code Playgroud)

有人可以帮我一把吗?

Luk*_*ard 5

您可以使用INSTR第三个参数negative来从末尾向后搜索字符串(我不知道您可以在几分钟前完成的事情).将它与a结合起来SUBSTR你应该拥有你想要的东西:

SQL> select filename from mytable;

FILENAME
--------------------------------------------------------------------------------
C:\path\to\some\file.txt

SQL> select substr(filename, instr(filename, '\', -1) + 1) from mytable;

SUBSTR(FILENAME,INSTR(FILENAME,'\',-1)+1)
--------------------------------------------------------------------------------
file.txt