根据这篇《字符是否为sql的保留字》
我们可以不必去创建一张表来存储这些关键词,可以直接写一个函数来实现:
create function [dbo].[svf_isexistdatalist] (
@searchstring nvarchar(max),
@datalists nvarchar(max),
@delimiter nvarchar(max) = n','
)
returns bit
as
begin
return
case when (charindex(@searchstring, @datalists) > 0
and (@datalists = @searchstring
or @datalists like @searchstring + @delimiter + n'%'
or @datalists like n'%' + @delimiter + @searchstring + @delimiter + n'%'
or @datalists like n'%' + @delimiter + @searchstring)
)
then 1
else 0
end
end
source code
应用以上函数: