如标题所示,在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

相关文章:

  • 2021-11-18
  • 2021-06-13
  • 2021-12-15
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-04
  • 2021-11-20
  • 2022-12-23
  • 2022-12-23
  • 2021-11-15
  • 2022-12-23
  • 2021-09-06
相关资源
相似解决方案