Co s tím potřebuješ udělat?? Potřebujete uchopit znaky po posledním výskytu daného oddělovače?
Pokud ano:obraťte řetězec a hledejte pomocí normálního 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))
Dostanete zpět "nejaký.soubor" - znaky až po poslední "." v původním názvu souboru.
Přímo na serveru SQL Server není žádný „LASTCHARINDEX“ ani nic podobného. V SQL Server 2005 a novějších byste mohli zvážit provedení skvělé knihovny rozšíření .NET a nasadit ji jako sestavení do SQL Serveru – T-SQL není příliš silný s manipulací s řetězci, zatímco .NET opravdu ano.