我试图在给定变量文件路径的情况下提取文件名。一些路径示例:
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
文件路径长度可能因位置而异。
答案 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)