如何从文件路径

时间:2016-10-21 15:38:18

标签: sql-server tsql

我试图在给定变量文件路径的情况下提取文件名。一些路径示例:

C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\CentralDB.mdf

C:\MSSQL\DATA\CentralDB.mdf

C:\DATA\CentralDB.mdf

预期输出应该只是文件名,即:

CentralDb.mdf CentralDB.ldf

文件路径长度可能因位置而异。

1 个答案:

答案 0 :(得分:4)

您可以使用字符串的反向来查找第一个' \'然后取右边的值。

declare @var varchar(4000)

set @var = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\CentralDB.mdf'
select RIGHT(@var,CHARINDEX('\',REVERSE(@var))-1)

set @var = 'C:\DATA\CentralDB.mdf'
select RIGHT(@var,CHARINDEX('\',REVERSE(@var))-1)

set @var = 'C:\MSSQL\DATA\CentralDB.mdf'
select RIGHT(@var,CHARINDEX('\',REVERSE(@var))-1)