欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

查找某一字符串在目标字符串中所在的位置

程序员文章站 2022-03-30 17:49:50
如标题所示,在MS SQL数据库,实现一个功能,查找某一字符串在目标字符串中所在的位置。 在数据库实现这个函数: CREATE FUNCTION [dbo].[svf_FindPosition] ( @Target NVARCHAR(4000), @ListSource NVARCHAR(4000) ......

如标题所示,在ms sql数据库,实现一个功能,查找某一字符串在目标字符串中所在的位置。

 

在数据库实现这个函数:

 

查找某一字符串在目标字符串中所在的位置
create function [dbo].[svf_findposition] (
  @target nvarchar(4000),
  @listsource nvarchar(4000),
  @delimit nvarchar(1) = n','
)
returns int 
as
begin
   declare @i int,@position int,@entry nvarchar(4000)

   if len(isnull(@target,n'')) = 0 or len(isnull(@listsource,n'')) = 0
   begin
      return 0
   end

   set @position = 1
   while 1 = 1 
   begin
       set @i = charindex(@delimit, @listsource)

       if @i = 0
          if @target = @listsource
             break
          else
             return 0

       set @entry = substring(@listsource,1,@i - 1)
       set @listsource = substring(@listsource,@i + 1, len(@listsource))

       if @target = @entry
          break
 
       set @position = @position + 1
   end

   return @position
end
source code