Вы хотите несколько вещей. Сначала посмотрите синтаксис SQL Server для функций и напишите что-то вроде этого:
-- Warning! Code written off the top of my head,
-- don't expect this to work w/copy-n-paste
create function removeStrings(@input nvarchar(4000))
as begin
-- We're being kind of simple-minded and using strings
-- instead of regular expressions, so we are assuming a
-- a space before and after each word. This makes this work better:
@input = ' ' + @input
-- Big list of replaces
@input = replace(' in ','',@input)
@input = replace(' out ','',@input)
--- more replaces...
end
Тогда вам нужен список совпадений в таблице, назовите его «предопределенный» с колонкой «matchString».
Затем вы можете получить соответствующие строки с помощью:
select p.matchString
from items i
join predefined p
on removeStrings(i.title) = p.matchString
Как только у вас будут работать эти отдельные части, я предлагаю новый вопрос о том, какой конкретный процесс вы можете выполнять с ними.
Предупреждение. Не зная, сколько у вас строк или как часто вам приходится это делать (каждый раз, когда пользователь что-то сохраняет? Один раз / день?), Это не будет быстрым, если вы понимаете, о чем я. Поэтому, когда у вас есть эти строительные блоки в руках, может возникнуть дополнительный вопрос о том, как и когда это сделать.