それは与えられた文字列を分割し、与えられた入力から個々の単語を返す以下のような関数を作成して必要なものである
Create function fn_stringSplit(@StringSplit varchar(max))
returns @table table(SplitValue varchar(10) not null)
as
begin
Declare @StartVal int
Declare @endVal int
set @StringSplit = @StringSplit + ' '
set @StartVal = 1
set @endVal = 1
while @endVal >= 0
begin
set @endVal = charindex(' ',@StringSplit,@StartVal);
insert into @table select SUBSTRING(@StringSplit,@StartVal,@endVal-1)
set @StringSplit= SUBSTRING(@StringSplit,@endVal+1, LEN(@StringSplit))
if @StringSplit = '' set @endVal= -1
end
return
end
入力を渡してメインクエリの関数を呼び出す
DECLARE @string varchar(20)
SELECT @string = 'Marketing tool designer'
SELECT JobTitle from Employee e
where JobTitle in (select e.JobTitle from fn_stringSplit(@string) ss
where e.JobTitle like '%'+SplitValue+'%') --Here Splitvalue is the column name in the table that is returned by fn_stringSplitfunction
我々は
DECLARE @string varchar(20)
SELECT @string = 'Marketing tool designer'
SELECT JobTitle from Employee e
where JobTitle in (select e.JobTitle from String_Split(@string) ss
where e.JobTitle like '%'+Value+'%') --Here **value** is the column name in the table that is returned by **String_Split**
としてクエリを書くことができ、機能String_Splitを持っているのSQL Server 2016で