Co musisz z tym zrobić? Czy musisz łapać znaki po ostatnim wystąpieniu danego ogranicznika?
Jeśli tak:odwróć ciąg i wyszukaj, używając normalnego 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))
Otrzymasz z powrotem "jakiś.plik" - znaki do ostatniego "." w oryginalnej nazwie pliku.
W SQL Server bezpośrednio nie ma „LASTCHARINDEX” ani niczego podobnego. To, co możesz rozważyć w SQL Server 2005 i nowszych, to świetna biblioteka rozszerzeń .NET i wdrożenie jej jako zespołu w SQL Server - T-SQL nie jest zbyt silny w manipulacji ciągami, podczas gdy .NET w rzeczywistości jest.