查找字符是否存在列表中

根据这篇《字符是否为SQL的保留字https://www.cnblogs.com/insus/p/9979789.html

我们可以不必去创建一张表来存储这些关键词,可以直接写一个函数来实现:

 

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

 

应用以上函数:

 

posted @ 2018-11-19 00:31  Insus.NET  阅读(987)  评论(0编辑  收藏  举报