Всем известно про функцию t-sql charindex, которая возвращает начальную позицию подстроки в строке. Но некоторых случаях необходимо бывает найти начальную позицию не первого вхождения подстроки, а последнего. Для этого я написал пользовательскую функцию last_charindex. Ниже приведу ее код:
create function [dbo].[last_charindex] (@what varchar(1000), @where varchar(1000)) returns int as begin set @where = reverse(@where) set @what = reverse(@what) return (case when charindex(@what, @where) > 0 then len(@where) - (len(@what) + charindex(@what, @where)) + 2 else 0 end) end