Последнее вхождение подстроки в строку – last charindex

Всем известно про функцию 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

Оставить комментарий

Обязательные поля *

Вы можете использовать следующие HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>