2015-10-20 52 views

回答

1

嘗試以下操作:

SELECT LEFT(FullFilePath, LEN(FullFilePath) - CHARINDEX('\', REVERSE(FullFilePath)) + 1) 

樣本數據

CREATE TABLE #FileSystem (
    FileID int identity(1,1), 
    FullFilePath nvarchar(1000) 
) 

INSERT INTO #FileSystem VALUES (
N'D:\SQLDatabases\SQLSampleDatabase.mdf' 
); 
INSERT INTO #FileSystem VALUES (
N'C:\Program Files\Microsoft SQL Server\100\Samples\License.rtf' 
); 

輸出

D:\SQLDatabases\ 
C:\Program Files\Microsoft SQL Server\100\Samples\ 
1

你想要的一切,最後'\'之前,所以是這樣的:

select left(FullFilePath, 
      len(FullFilePath) - charindex('\', reverse(FullFilePath) - 1) 
      ) 
1
Select REVERSE(
      SUBSTRING(REVERSE(FullFilePath),CHARINDEX('\',REVERSE(FullFilePath),0), 
LEN(FullFilePath))) 
    FROM FileSystem 

試試這個,它的工作原理。

相關問題