Vad behöver du göra med det?? Behöver du ta tag i tecknen efter den senaste förekomsten av en given avgränsare?
Om så är fallet:vänd på strängen och sök med den vanliga CHARINDEX:
declare @test varchar(100)
set @test = 'some.file.name'
declare @reversed varchar(100)
set @reversed = REVERSE(@test)
select
REVERSE(SUBSTRING(@reversed, CHARINDEX('.', @reversed)+1, 100))
Du får tillbaka "some.file" - tecknen upp till den sista "." i det ursprungliga filnamnet.
Det finns ingen "LASTCHARINDEX" eller något liknande i SQL Server direkt. Det du kan tänka dig att göra i SQL Server 2005 och senare är ett utmärkt .NET-tilläggsbibliotek och distribuera det som en sammansättning i SQL Server - T-SQL är inte särskilt stark med strängmanipulation, medan .NET verkligen är det.