Sunday, February 19, 2012

Extracting file name

I have a file name in a variable with full path
set @.f = 'C:\DIRECTORY1\DIRECTORY2\DIRECTORY3\FILENAME.MDF'.
How do I extract the file name, discarding the path. In the
above example I want to get FILENAME.MDF
TIATry,
declare @.f varchar(255)
set @.f = 'C:\DIRECTORY1\DIRECTORY2\DIRECTORY3\FILENAME.MDF'
select right(@.f, charindex('\', reverse(@.f)) - 1)
AMB
"Data Cruncher" wrote:
> I have a file name in a variable with full path
> set @.f = 'C:\DIRECTORY1\DIRECTORY2\DIRECTORY3\FILENAME.MDF'.
> How do I extract the file name, discarding the path. In the
> above example I want to get FILENAME.MDF
> TIA
>|||Alejandro Mesa wrote:
> Try,
> declare @.f varchar(255)
> set @.f = 'C:\DIRECTORY1\DIRECTORY2\DIRECTORY3\FILENAME.MDF'
> select right(@.f, charindex('\', reverse(@.f)) - 1)
I don't think the above one gives me the result I want,
but anyhow you gave me the idea. This one works
set @.datafile = substring(@.filename,
(len(@.filename) - charindex('\',reverse(@.filename)) +
2),
len(@.filename))
it print FILENAME.MDF|||> I don't think the above one gives me the result I want,
Did you test it?
use northwind
go
declare @.f varchar(255)
set @.f = 'C:\DIRECTORY1\DIRECTORY2\DIRECTORY3\FILENAME.MDF'
select right(@.f, charindex('\', reverse(@.f)) - 1)
go
Result:
FILENAME.MDF
AMB
"Data Cruncher" wrote:
> Alejandro Mesa wrote:
> > Try,
> >
> > declare @.f varchar(255)
> >
> > set @.f = 'C:\DIRECTORY1\DIRECTORY2\DIRECTORY3\FILENAME.MDF'
> >
> > select right(@.f, charindex('\', reverse(@.f)) - 1)
> I don't think the above one gives me the result I want,
> but anyhow you gave me the idea. This one works
> set @.datafile = substring(@.filename,
> (len(@.filename) - charindex('\',reverse(@.filename)) +
> 2),
> len(@.filename))
> it print FILENAME.MDF
>

No comments:

Post a Comment