Тег: строковые функции

Строковые функции в sql

Последнее вхождение подстроки в строку – 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