Вероятно, это не лучшая пользовательская функция, но она может помочь вам найти путь к тому, что вам нужно.
CREATE FUNCTION [dbo].[ContainsSharedTerm]
( @SearchString1 varchar(255), @SearchString2 varchar(255) )
RETURNS BIT
AS
BEGIN
DECLARE @MatchFound BIT
SET @MatchFound = 0
DECLARE @TempString VARCHAR(255)
WHILE LEN(@SearchString1) > 0 AND @MatchFound = 0
BEGIN
IF CHARINDEX(' ',@SearchString1) = 0
BEGIN
SET @TempString = @SearchString1
SET @SearchString1 = ''
END
ELSE
BEGIN
SET @TempString = LEFT(@SearchString1,CHARINDEX(' ',@SearchString1)-1)
SET @SearchString1 = RIGHT(@SearchString1,LEN(@SearchString1)-CHARINDEX(' ',@SearchString1))
END
IF CHARINDEX(@TempString,@SearchString2) > 0
BEGIN
SET @MatchFound = 1
END
END
RETURN @MatchFound
END
CREATE TABLE #TestTable (
Col1 VARCHAR(100),
Col2 VARCHAR(100)
)
INSERT INTO [#TestTable] ([Col1],[Col2]) VALUES ('little brown fox','big brown bear')
INSERT INTO [#TestTable] ([Col1],[Col2]) VALUES ('Sun is shinning','Its raining')
SELECT [Col1],[Col2],dbo.[ContainsSharedTerm]([Col1],[Col2]) AS [Match]
FROM [#TestTable]
DROP TABLE [#TestTable]