2011-03-20 56 views
1

表中的記錄如下甲骨文聲明

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 

我只想提取這些文件的名稱。結果應該是

TT-12S2Q99-EE-EE1  
TT-12S2Q94-EE-EE1 
TT-12S2Q98-EE-EE1  
TT-12S2Q88-EE-EE1 

任何人都可以幫我一把嗎?

+8

到目前爲止你有什麼? – Mat 2011-03-20 07:53:32

回答

1

查看SUBSTR和INSTR函數。

如果您在此之後仍然陷入困境,請發佈您的最佳嘗試。

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 – 2014-04-15 03:55:38

+1

這不是一個勺子餵養的答案,不。但由於OP似乎沒有試圖自己回答這個問題,我提供了一些指導來幫助他們。我會留下一個評論,但我不認爲當時有stackoverflow的評論(這是2011年3月回答) – cagcowboy 2014-04-22 12:38:24

+0

是的,你是對的。也許不是一個好主意,在「低質量帖子」隊列中顯示這些舊的答案,因爲現在的標準可能沒有應用。 – 2014-04-22 13:12:43

5

您可以使用INSTR以及第三個參數爲negative,以便從結尾向後搜索字符串(我不知道您可以在幾分鐘前執行此操作)。結合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