2014-06-18 52 views
0

我需要從數據庫列中檢索帶擴展名的文件名。查詢路徑和文件名的SQL查詢

例如:從c:\abc\bde\hyr\gff\test.txt

我需要得到的結果類似test.txt

c:\abc\bde\hyr\gff

請幫助

感謝

+2

使用什麼版本的SQL?你有什麼嘗試? – Siyual

+1

我建議使用SUBSTRING – apomene

+1

你使用的是:MySQL,SQL Server,Oracle,PostgreSQL等? –

回答

0

你可以試試這個。

SELECT REVERSE(LEFT(REVERSE(columnName),CHARINDEX('\',REVERSE(columnName))-1)) AS FileName, 
REVERSE(RIGHT(REVERSE(columnName),LEN(REVERSE(columnName)) - CHARINDEX('\',REVERSE(columnName)))) AS Directory 
0

SubString另一種方法是使用下面,使用CharIndexReverse

Select Left([FilePath], Len([FilePath]) - CharIndex('\', Reverse([FilePath])))  [FolderPath], 
     Right('\' + [FilePath], CharIndex('\', Reverse('\' + [FilePath])) - (1)) [FileName] 

這將最後\作爲文件名後拉一切,之前的一切作爲FOLDERPATH。