如標題所示,在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 ENDSource Code